mixin spacer(sp) if sp == 1 .spacer else if sp == 2 .spacer-fixed mixin key(sp, code, classes="", width=0) div(data-code=code, class=`key ${classes}`, style=(width ? `width: ${width}px` : "")) .label block +spacer(sp) mixin modifier(sp, code, classes="", width=0) div(data-code=code, data-allow-autohold, class=`key ${classes}`, style=(width ? `width: ${width}px` : "")) .label | #[b •]#[br] block +spacer(sp) mixin empty(sp, classes="", width=0) div(class=`empty ${classes}`, style=(width ? `width:${width}px` : "")) .label   +spacer(sp) mixin lamp(cls) img(class=`inline-lamp-small ${cls} led-gray` src=`${svg_dir}/led-square.svg`) .window#keyboard-window(data-show-centered) .window-header#keyboard-window-header .window-grab Virtual Keyboard .window-buttons button.window-button-original • button.window-button-close #[b ×] .keypad#keyboard-desktop(align="center") .keypad-block .keypad-row +key(2, "Escape", "small") Esc +empty(1, "", 24) each key in ["F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"] +key((key != "F12" ? 1 : 0), key, "small") #{key} if key == "F4" || key == "F8" +empty(1, "", 10) hr .keypad-row +key(1, "Backquote") ~#[br]` each key, index in ["!", "@", "#", "$", "%", "^", "&", "*", "("] +key(1, `Digit${index + 1}`) #{key}#[br]#{index + 1} +key(1, "Digit0") )#[br]0 +key(1, "Minus") _#[br]- +key(1, "Equal") +#[br]= +key(0, "Backspace", "wide-1 right") ↤ .keypad-row +key(1, "Tab", "wide-1 left") ⇤#[br]⇥ each key in ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"] +key(1, `Key${key}`, "single") #{key} +key(1, "BracketLeft") {#[br][ +key(1, "BracketRight") }#[br]] +key(0, "Backslash") |#[br]\ .keypad-row +key(1, "CapsLock", "wide-2 left small") +lamp("hid-keyboard-caps-led") | #[br] Caps Lock each key in ["A", "S", "D", "F", "G", "H", "J", "K", "L"] +key(1, `Key${key}`, "single") #{key} +key(1, "Semicolon") :#[br]; +key(1, "Quote") "#[br]' +key(0, "Enter", "wide-2 right small") Enter#[br]↵ .keypad-row +modifier(1, "ShiftLeft", "wide-3 left small") Shift each key in ["Z", "X", "C", "V", "B", "N", "M"] +key(1, `Key${key}`, "single") #{key} +key(1, "Comma") <#[br], +key(1, "Period") >#[br]. +key(1, "Slash") ?#[br]/ +modifier(0, "ShiftRight", "wide-3 right small") Shift .keypad-row +modifier(2, "ControlLeft", "wide-1 left small") Ctrl +modifier(2, "MetaLeft", "wide-1 left small") Win +modifier(2, "AltLeft", "wide-1 left small") Alt +key(2, "Space", "wide-4") +modifier(2, "AltRight", "wide-1 right small") Alt +modifier(2, "MetaRight", "wide-1 right small") Win +key(2, "ContextMenu", "small") #[br]Menu +modifier(0, "ControlRight", "wide-1 right small") Ctrl .keypad-block .keypad-row +modifier(2, "PrintScreen", "small") Pt/Sq +key(2, "ScrollLock", "small") +lamp("hid-keyboard-scroll-led") | #[br] ScrLk +key(0, "Pause", "small") P/Brk hr .keypad-row +key(2, "Insert", "small") Ins +key(2, "Home", "small") Home +key(0, "PageUp", "small") PgUp .keypad-row +key(2, "Delete", "small") Del +key(2, "End", "small") End +key(0, "PageDown", "small") PgDn .keypad-row .keypad-row +empty(1, "") +key(2, "ArrowUp") ↑ +empty(0, "") .keypad-row +key(2, "ArrowLeft") ← +key(2, "ArrowDown") ↓ +key(0, "ArrowRight") → .keypad-block .keypad-row +empty(2, "small") +empty(2, "small") +empty(2, "small") +key(0, "Power", "small") PWR hr .keypad-row +key(2, "NumLock", "small") +lamp("hid-keyboard-num-led") | #[br] NmLk +key(2, "NumpadDivide") / +key(2, "NumpadMultiply") * +key(0, "NumpadSubtract") - .keypad-row +key(2, "Numpad7", "small") 7#[br]Home +key(2, "Numpad8", "small") 8#[br]↑ +key(2, "Numpad9", "small") 9#[br]PgUp +empty(0, "") .keypad-row +key(2, "Numpad4", "small") 4#[br]← +key(2, "Numpad5", "small") 5#[br]#[br] +key(2, "Numpad6", "small") 6#[br]→ +key(0, "NumpadAdd") + .keypad-row +key(2, "Numpad1", "small") 1#[br]End +key(2, "Numpad2", "small") 2#[br]↓ +key(2, "Numpad3", "small") 3#[br]PgDn +empty(0, "") .keypad-row +key(2, "Numpad0", "small") 0#[br]Ins +empty(2, "") +key(2, "NumpadDecimal", "small") .#[br]Del +key(0, "NumpadEnter", "small") Ent .keypad-block .keypad-row +key(0, "IntlBackslash", "small") \#[br]| hr .keypad-row +key(0, "IntlYen", "small") ¥#[br]_ .keypad-row +key(0, "IntlRo", "small") \#[br]ろ .keypad-row +modifier(0, "KanaMode", "small") Kana .keypad-row +modifier(0, "NonConvert", "small") N/Cnv .keypad-row +modifier(0, "Convert", "small") Cnv .keypad#keyboard-mobile(align="center") .keypad-block .keypad-row +key(1, "Escape", "small") Esc +key(0, "F1", "wide-0 small rounded-left") F1 +key(0, "F2", "wide-0 small rounded-none") F2 +key(0, "F3", "wide-0 small rounded-none") F3 +key(2, "F4", "wide-0 small rounded-right") F4 +key(0, "F5", "wide-0 small rounded-left") F5 +key(0, "F6", "wide-0 small rounded-none") F6 +key(0, "F7", "wide-0 small rounded-none") F7 +key(2, "F8", "wide-0 small rounded-right") F8 +key(0, "F9", "wide-0 small rounded-left") F9 +key(0, "F10", "wide-0 small rounded-none") F10 +key(0, "F11", "wide-0 small rounded-none") F11 +key(2, "F12", "wide-0 small rounded-right") F12 +modifier(1, "PrintScreen", "small") Pt/Sq +key(1, "ScrollLock", "small") +lamp("hid-keyboard-scroll-led") | #[br] ScrLk +key(1, "Pause", "small") P/Brk +key(1, "Insert", "small") Ins +key(1, "Home", "small") Home +key(1, "End", "small") End +key(0, "Delete", "small") Del .keypad-row +key(1, "Backquote") ~#[br]` each key, index in ["!", "@", "#", "$", "%", "^", "&", "*", "("] +key(1, `Digit${index + 1}`) #{key}#[br]#{index + 1} +key(1, "Digit0") )#[br]0 +key(1, "Minus") _#[br]- +key(1, "Equal") +#[br]= +key(0, "Backspace", "wide-2 right", 101) ↤ .keypad-row +key(1, "Tab", "wide-1 left") ⇤
⇥ each key in ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"] +key(1, `Key${key}`, "single") #{key} +key(1, "BracketLeft") {#[br][ +key(1, "BracketRight") }#[br]] +key(0, "Backslash", "wide-1 left", 78) |#[br]\ .keypad-row +key(1, "CapsLock", "wide-2 left small") +lamp("hid-keyboard-caps-led") | #[br] Caps Lock each key in ["A", "S", "D", "F", "G", "H", "J", "K", "L"] +key(1, `Key${key}`, "single") #{key} +key(1, "Semicolon") :#[br]; +key(1, "Quote") `#[br]' +key(0, "Enter", "wide-3 right small", 116) Enter#[br]↵ .keypad-row +modifier(1, "ShiftLeft", "wide-3 left small") Shift each key in ["Z", "X", "C", "V", "B", "N", "M"] +key(1, `Key${key}`, "single") #{key} +key(1, "Comma") <#[br], +key(1, "Period") >#[br]. +key(1, "Slash") ?#[br]/ +key(2, "PageUp", "small") PgUp +key(2, "ArrowUp") ↑ +key(0, "PageDown", "small") PgDn .keypad-row +modifier(1, "ControlLeft", "wide-1 left small") Ctrl +modifier(1, "MetaLeft", "wide-1 left small") Win +modifier(1, "AltLeft", "wide-1 left small") Alt +key(1, "Space", "", 190) +modifier(1, "AltRight", "right small") Alt +modifier(1, "MetaRight", "right small") Win +key(1, "ContextMenu", "small") #[br]Menu +modifier(1, "ShiftRight", "right small") Shift +modifier(1, "ControlRight", "right small") Ctrl +key(2, "ArrowLeft") ← +key(2, "ArrowDown") ↓ +key(0, "ArrowRight") →