nixos-configs/modules/ags/config/ts/on-screen-keyboard/keyboard-layouts.ts

105 lines
7.9 KiB
TypeScript
Raw Normal View History

// TODO: right Ctrl https://handwiki.org/wiki/images/4/41/KB_Canadian_Multilingual_Standard.svg
export const defaultOskLayout = 'qwerty_custom';
export const oskLayouts = {
qwerty_custom: {
name: 'QWERTY - Custom',
name_short: 'CSA',
comment: 'Like physical keyboard',
// A normal key looks like this: {label: "a", labelShift: "A", shape: "normal", keycode: 30, type: "normal"}
// A modkey looks like this: {label: "Ctrl", shape: "control", keycode: 29, type: "modkey"}
// key types are: normal, tab, caps, shift, control, fn (normal w/ half height), space, expand
keys: [
[
{ keytype: 'normal', label: 'Esc', shape: 'fn', keycode: 1 },
{ keytype: 'normal', label: 'F1', shape: 'fn', keycode: 59 },
{ keytype: 'normal', label: 'F2', shape: 'fn', keycode: 60 },
{ keytype: 'normal', label: 'F3', shape: 'fn', keycode: 61 },
{ keytype: 'normal', label: 'F4', shape: 'fn', keycode: 62 },
{ keytype: 'normal', label: 'F5', shape: 'fn', keycode: 63 },
{ keytype: 'normal', label: 'F6', shape: 'fn', keycode: 64 },
{ keytype: 'normal', label: 'F7', shape: 'fn', keycode: 65 },
{ keytype: 'normal', label: 'F8', shape: 'fn', keycode: 66 },
{ keytype: 'normal', label: 'F9', shape: 'fn', keycode: 67 },
{ keytype: 'normal', label: 'F10', shape: 'fn', keycode: 68 },
{ keytype: 'normal', label: 'F11', shape: 'fn', keycode: 87 },
{ keytype: 'normal', label: 'F12', shape: 'fn', keycode: 88 },
{ keytype: 'normal', label: 'Home', shape: 'fn', keycode: 110 },
{ keytype: 'normal', label: 'End', shape: 'fn', keycode: 115 },
{ keytype: 'normal', label: 'Del', shape: 'fn', keycode: 111 },
],
[
{ keytype: 'normal', label: '/', labelShift: '\\', labelAltGr: '|', shape: 'normal', keycode: 41 },
{ keytype: 'normal', label: '1', labelShift: '!', shape: 'normal', keycode: 2 },
{ keytype: 'normal', label: '2', labelShift: '@', shape: 'normal', keycode: 3 },
{ keytype: 'normal', label: '3', labelShift: '#', labelAltGr: '¤', shape: 'normal', keycode: 4 },
{ keytype: 'normal', label: '4', labelShift: '$', shape: 'normal', keycode: 5 },
{ keytype: 'normal', label: '5', labelShift: '%', shape: 'normal', keycode: 6 },
{ keytype: 'normal', label: '6', labelShift: '?', shape: 'normal', keycode: 7 },
{ keytype: 'normal', label: '7', labelShift: '&', labelAltGr: '{', shape: 'normal', keycode: 8 },
{ keytype: 'normal', label: '8', labelShift: '*', labelAltGr: '}', shape: 'normal', keycode: 9 },
{ keytype: 'normal', label: '9', labelShift: '(', labelAltGr: '[', shape: 'normal', keycode: 10 },
{ keytype: 'normal', label: '0', labelShift: ')', labelAltGr: ']', shape: 'normal', keycode: 11 },
{ keytype: 'normal', label: '-', labelShift: '_', shape: 'normal', keycode: 12 },
{ keytype: 'normal', label: '=', labelShift: '+', labelAltGr: '¬', shape: 'normal', keycode: 13 },
{ keytype: 'normal', label: 'Backspace', shape: 'expand', keycode: 14 },
],
[
{ keytype: 'normal', label: 'Tab', shape: 'tab', keycode: 15 },
{ keytype: 'normal', label: 'q', labelShift: 'Q', shape: 'normal', keycode: 16 },
{ keytype: 'normal', label: 'w', labelShift: 'W', shape: 'normal', keycode: 17 },
{ keytype: 'normal', label: 'e', labelShift: 'E', labelAltGr: '€', shape: 'normal', keycode: 18 },
{ keytype: 'normal', label: 'r', labelShift: 'R', shape: 'normal', keycode: 19 },
{ keytype: 'normal', label: 't', labelShift: 'T', shape: 'normal', keycode: 20 },
{ keytype: 'normal', label: 'y', labelShift: 'Y', shape: 'normal', keycode: 21 },
{ keytype: 'normal', label: 'u', labelShift: 'U', shape: 'normal', keycode: 22 },
{ keytype: 'normal', label: 'i', labelShift: 'I', shape: 'normal', keycode: 23 },
{ keytype: 'normal', label: 'o', labelShift: 'O', shape: 'normal', keycode: 24 },
{ keytype: 'normal', label: 'p', labelShift: 'P', shape: 'normal', keycode: 25 },
{ keytype: 'normal', label: '^', labelShift: '"', labelAltGr: '`', shape: 'normal', keycode: 26 },
{ keytype: 'normal', label: 'ç', labelShift: 'Ç', labelAltGr: '~', shape: 'normal', keycode: 27 },
{ keytype: 'normal', label: 'à', labelShift: 'À', shape: 'expand', keycode: 43 },
],
[
{ keytype: 'normal', label: 'Caps', shape: 'caps', keycode: 58 },
{ keytype: 'normal', label: 'a', labelShift: 'A', shape: 'normal', keycode: 30 },
{ keytype: 'normal', label: 's', labelShift: 'S', shape: 'normal', keycode: 31 },
{ keytype: 'normal', label: 'd', labelShift: 'D', shape: 'normal', keycode: 32 },
{ keytype: 'normal', label: 'f', labelShift: 'F', shape: 'normal', keycode: 33 },
{ keytype: 'normal', label: 'g', labelShift: 'G', shape: 'normal', keycode: 34 },
{ keytype: 'normal', label: 'h', labelShift: 'H', shape: 'normal', keycode: 35 },
{ keytype: 'normal', label: 'j', labelShift: 'J', shape: 'normal', keycode: 36 },
{ keytype: 'normal', label: 'k', labelShift: 'K', shape: 'normal', keycode: 37 },
{ keytype: 'normal', label: 'l', labelShift: 'L', shape: 'normal', keycode: 38 },
{ keytype: 'normal', label: ';', labelShift: ':', labelAltGr: '°', shape: 'normal', keycode: 39 },
{ keytype: 'normal', label: 'è', labelShift: 'È', shape: 'normal', keycode: 40 },
{ keytype: 'normal', label: 'Enter', shape: 'expand', keycode: 28 },
],
[
{ keytype: 'modkey', label: 'Shift', shape: 'shift', keycode: 42 },
{ keytype: 'normal', label: 'z', labelShift: 'Z', labelAltGr: '«', shape: 'normal', keycode: 44 },
{ keytype: 'normal', label: 'x', labelShift: 'X', labelAltGr: '»', shape: 'normal', keycode: 45 },
{ keytype: 'normal', label: 'c', labelShift: 'C', shape: 'normal', keycode: 46 },
{ keytype: 'normal', label: 'v', labelShift: 'V', shape: 'normal', keycode: 47 },
{ keytype: 'normal', label: 'b', labelShift: 'B', shape: 'normal', keycode: 48 },
{ keytype: 'normal', label: 'n', labelShift: 'N', shape: 'normal', keycode: 49 },
{ keytype: 'normal', label: 'm', labelShift: 'M', shape: 'normal', keycode: 50 },
{ keytype: 'normal', label: ',', labelShift: "'", labelAltGr: '<', shape: 'normal', keycode: 51 },
{ keytype: 'normal', label: '.', labelShift: '"', labelAltGr: '>', shape: 'normal', keycode: 52 },
{ keytype: 'normal', label: 'é', labelShift: 'É', shape: 'normal', keycode: 53 },
{ keytype: 'modkey', label: 'Shift', shape: 'expand', keycode: 54 },
],
[
{ keytype: 'modkey', label: 'Ctrl', shape: 'control', keycode: 29 },
{ keytype: 'modkey', label: 'Super', shape: 'normal', keycode: 125 },
{ keytype: 'modkey', label: 'Alt', shape: 'normal', keycode: 56 },
{ keytype: 'normal', label: 'Space', shape: 'space', keycode: 57 },
{ keytype: 'normal', label: 'Space', shape: 'space', keycode: 57 },
{ keytype: 'modkey', label: 'AltGr', shape: 'normal', keycode: 100 },
{ keytype: 'normal', label: 'PrtSc', shape: 'fn', keycode: 99 },
{ keytype: 'modkey', label: 'Ctrl', shape: 'control', keycode: 97 },
],
],
},
};