import { create } from '../../../../../core/object'; import { SyntheticKeyboardEvent } from '../../SyntheticKeyboardEvent'; import { NativeEvent } from './NativeEvent'; declare const Qt: any; export class NativeKeyboardEvent extends NativeEvent { static map(e: any) { return new SyntheticKeyboardEvent(NativeKeyboardEvent.convertKey(e.key), e.text, NativeEvent.convertModifiers(e.modifiers)); } static readonly syntheticEvent = SyntheticKeyboardEvent; static readonly keyMap = createKeyMap(); static convertKey(key: number) { return NativeKeyboardEvent.keyMap[key] || key; } } //! \todo complete list function createKeyMap() { const ret = create(); ret[Qt.Key_Backspace] = 8; ret[Qt.Key_Escape] = 27; ret[Qt.Key_Return] = 13; ret[Qt.Key_Tab] = 9; ret[Qt.Key_Up] = 38; ret[Qt.Key_Down] = 40; ret[Qt.Key_Left] = 37; ret[Qt.Key_Right] = 39; return ret; }