mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
export const KeyTable = {
|
|
XK_v: 0x0076, // U+0076 LATIN SMALL LETTER V
|
|
|
|
XK_Control_L: 0xffe3, // Left control
|
|
XK_Control_R: 0xffe4, // Right control
|
|
|
|
XK_Meta_L: 0xffe7, // Left meta
|
|
XK_Meta_R: 0xffe8, // Right meta
|
|
XK_Alt_L: 0xffe9, // Left alt
|
|
XK_Alt_R: 0xffea, // Right alt
|
|
XK_Super_L: 0xffeb, // Left super
|
|
XK_Super_R: 0xffec, // Right super
|
|
|
|
XK_ISO_Level3_Shift: 0xfe03, // AltGr
|
|
XK_Mode_switch: 0xff7e, // Character set switch
|
|
}
|
|
|
|
export const keySymsRemap = function (key: number) {
|
|
const isMac = navigator && navigator.platform.match(/^mac/i)
|
|
const isiOS = navigator && navigator.platform.match(/ipad|iphone|ipod/i)
|
|
|
|
// switch command with ctrl on mac and ios
|
|
if (isMac || isiOS) {
|
|
switch (key) {
|
|
case KeyTable.XK_Meta_L:
|
|
return KeyTable.XK_Control_L
|
|
case KeyTable.XK_Meta_R:
|
|
return KeyTable.XK_Control_R
|
|
case KeyTable.XK_Super_L:
|
|
return KeyTable.XK_Alt_L
|
|
case KeyTable.XK_Super_R:
|
|
return KeyTable.XK_Super_L
|
|
case KeyTable.XK_Alt_L:
|
|
return KeyTable.XK_Mode_switch
|
|
case KeyTable.XK_Alt_R:
|
|
return KeyTable.XK_ISO_Level3_Shift
|
|
}
|
|
}
|
|
|
|
return key
|
|
}
|