expo-key-event
Version:
Provides an interface for reading key events such as from external bluetooth keyboards on Android, iOS and Web.
44 lines • 1.77 kB
TypeScript
import { KeyPressEvent, KeyReleaseEvent } from "../ExpoKeyEvent.types";
export interface UseKeyEventListenerOptions {
/**
* Pass 'false' to prevent automatic key event listening
* - Use startListening/stopListening to control the listener manually
* @default true
*/
listenOnMount?: boolean;
/**
* Prevent reloading the app when pressing 'r'
* @default false
*/
preventReload?: boolean;
/**
* Pass 'true' to enable onKeyRelease events (defaults to false for backward compatibility)
* @default false
*/
listenToRelease?: boolean;
/**
* Pass 'true' to capture modifier keys (shift, ctrl, alt, meta) and repeat flag
* @default false
*/
captureModifiers?: boolean;
}
export declare function useKeyEventListener(listener: (event: KeyPressEvent | KeyReleaseEvent) => void, options?: UseKeyEventListenerOptions): ReturnType<typeof useKeyEventListenerImpl>;
/**
* Legacy API - listener + positional parameters (for backwards compatibility)
* @deprecated Use `useKeyEvent(
options?: UseKeyEventOptions
)` instead
*/
export declare function useKeyEventListener(listener: (event: KeyPressEvent | KeyReleaseEvent) => void, listenOnMount?: boolean, preventReload?: boolean, listenToRelease?: boolean): ReturnType<typeof useKeyEventListenerImpl>;
declare function useKeyEventListenerImpl(listener: (event: KeyPressEvent | KeyReleaseEvent) => void, { listenOnMount, preventReload, listenToRelease, captureModifiers, }: UseKeyEventListenerOptions): {
/**
* Start listening for key events
*/
startListening: () => void;
/**
* Stop listening for key events
*/
stopListening: () => void;
};
export {};
//# sourceMappingURL=useKeyEventListener.d.ts.map