expo-key-event
Version:
Provides an interface for reading key events such as from external bluetooth keyboards on Android, iOS and Web.
46 lines • 1.62 kB
TypeScript
import { KeyPressEvent, KeyReleaseEvent } from "../ExpoKeyEvent.types";
export interface UseKeyEventOptions {
/**
* 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' (not applicable on web)
* @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 useKeyEvent(options?: UseKeyEventOptions): ReturnType<typeof useKeyEventImpl>;
/**
* Legacy API - positional parameters (for backwards compatibility)
* @deprecated Use `useKeyEvent(
options?: UseKeyEventOptions
)` instead
*/
export declare function useKeyEvent(listenOnMount?: boolean, preventReload?: boolean, listenToRelease?: boolean): ReturnType<typeof useKeyEventImpl>;
declare function useKeyEventImpl({ listenOnMount, preventReload, listenToRelease, captureModifiers, }: UseKeyEventOptions): {
/**
* Start listening for key events
*/
startListening: () => void;
/**
* Stop listening for key events
*/
stopListening: () => void;
keyEvent: KeyPressEvent | null;
keyReleaseEvent: KeyReleaseEvent | null;
};
export {};
//# sourceMappingURL=useKeyEvent.web.d.ts.map