Skip to content

Instantly share code, notes, and snippets.

@allanlaal
Created March 12, 2020 14:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save allanlaal/5a203327cb712625c93c41dd8551f7b4 to your computer and use it in GitHub Desktop.
Save allanlaal/5a203327cb712625c93c41dd8551f7b4 to your computer and use it in GitHub Desktop.
my 8 level (modifiers: Altgr, Shift, Caps) xkb keyboard layout 2020-03-12
// @desc AIS keyboard layout
// @author Allan Laal <allan.laal@gmail.com>
// @install Add Estonian keyboard layout. delete old Estonian keyboard layout
// project location: /afs/acn/infra./laptop./keyboard./layout.
// actual layout path: /usr/share/X11/xkb/symbols
// $ sudo ln -sf /afs/acn/infra./laptop./keyboard./layout./ee /usr/share/X11/xkb/symbols/ex
//
// DEPRECATED?: RELOAD layout: setxkbmap -option lv3:caps_switch -option lv5:ralt_switch -option terminate:ctrl_alt_bksp -layout 'ex' -symbols 'alcom'
// setxkbmap -layout 'ex' -symbols 'alcom' -v 10
default partial alphanumeric_keys modifier_keys keypad_keys
xkb_symbols "alcom" {
// TODO: how uuri: volume keyd pรคriseks mappida replace keyga?
// NB! paljud รคppid (nagu Chrome ja Tortoise) tahavad restarti, et uus kb laadida!!!!
// list modifiers: xmodmap -pm
name[Group1]="Estonian";
key.type[Group1] = "EIGHT_LEVEL";
// ### ee alcom layout MUST SET ralt_switch AND caps_switch:
include "level5(ralt_switch)" // AltGr = ISO_Level5_Shift // TODO: no Level 5 Lock? (kirjutan kรคsitsi Level4 RALT_switchi)
include "level3(caps_switch)" // Caps = ISO_Level3_Shift
// Ctrl + Backspace kills X
include "terminate(ctrl_alt_bksp)" // Ctrl+Shift+Del = X11 restart
// โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•
// get keycode from http://graphemica.com -> Unicode Code Point \wo +: U+00B3 โ†’ U00B3
// list of current mappings: xmodmap -pke
// 1. xmodmap -pke | grep -i home
// 1. xmodmap -pke | grep 'keycode 156'
// 2. cat /usr/share/X11/xkb/keycodes/evdev | grep 156
// 3. grep -ir FK /usr/share/X11/xkb/symbols/
// http://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols
// Themes: Math Subscript
// Shortcuts: Key Shift Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// Row โ„– ๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜
// keyboard main section: row 1: Function keys
// Shortcuts: Key Shift Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// key <nr> { [ Fx, igaksjuhuks,NoSymbol, NoSymbol, Goal, Essentialism NoSymbol, NoSymbol ]};
key <ESC> { [ Escape, Escape, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Esc Esc ๐ŸŽฏ โˆก ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK01> { [ F1, F1, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK02> { [ F2, F2, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK03> { [ F3, F3, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK04> { [ F4, F4, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK05> { [ F5, F5, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK06> { [ F6, F6, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK07> { [ F7, F7, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK08> { [ F8, F8, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK09> { [ F9, F9, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK10> { [ F10, F10, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK11> { [ F11, F11, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <FK12> { [ F12, F12, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <HOME> { [ Home, Home, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <END> { [ End, End, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <INS> { [ Insert, Insert, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <DELE> { [ Delete, Delete, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // Fx Fx ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// Row โ„– ๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™๐Ÿ™
// keyboard main section: row 2: numbers
// Shortcuts: Key Shift Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
key <TLDE> {[ U00B0, asciitilde, U2022, U25CF, U25CF, U207F, NoSymbol, NoSymbol ]}; // ยฐ ~ โ€ข โ— โ— โฟ ๐Ÿ—‹ ๐Ÿ—‹
key <AE01> {[ 1, exclam, NoSymbol, NoSymbol, U24F5, U00B9, NoSymbol, NoSymbol ]}; // 1 ! ๐Ÿ—‹ ๐Ÿ—‹ โ“ต ยน ๐Ÿ—‹ ๐Ÿ—‹
key <AE02> {[ 2, quotedbl, NoSymbol, NoSymbol, U0040, U00B2, NoSymbol, NoSymbol ]}; // 2 " ๐Ÿ—‹ ๐Ÿ—‹ @ ยฒ ๐Ÿ—‹ ๐Ÿ—‹
key <AE03> {[ 3, numbersign, NoSymbol, U03C0, sterling, U00B3, NoSymbol, NoSymbol ]}; // 3 # ๐Ÿ—‹ ฯ€ ยฃ ยณ ๐Ÿ—‹ ๐Ÿ—‹
key <AE04> {[ 4, cent, NoSymbol, NoSymbol, dollar, U2074, NoSymbol, NoSymbol ]}; // 4 ยค ๐Ÿ—‹ ๐Ÿ—‹ $ โด ๐Ÿ—‹ ๐Ÿ—‹
key <AE05> {[ 5, percent, U2030, NoSymbol, NoSymbol, U2075, NoSymbol, NoSymbol ]}; // 5 % โ€ฐ ๐Ÿ—‹ ๐Ÿ—‹ โต ๐Ÿ—‹ ๐Ÿ—‹
key <AE06> {[ 6, ampersand, NoSymbol, NoSymbol, UFF5E, U2076, NoSymbol, NoSymbol ]}; // 6 & ๐Ÿ—‹ ๐Ÿ—‹ ๏ฝž โถ ๐Ÿ—‹ ๐Ÿ—‹
key <AE07> {[ 7, slash, NoSymbol, NoSymbol, U007B, U2077, NoSymbol, NoSymbol ]}; // 7 / ๐Ÿ—‹ ๐Ÿ—‹ { โท ๐Ÿ—‹ ๐Ÿ—‹
key <AE08> {[ 8, parenleft, U27E6, U2770, U005B, U2078, NoSymbol, NoSymbol ]}; // 8 ( โŸฆ โฐ [ โธ ๐Ÿ—‹ ๐Ÿ—‹
key <AE09> {[ 9, parenright, U27E7, U2771, U005D, U2079, NoSymbol, NoSymbol ]}; // 9 ) โŸง โฑ ] โน ๐Ÿ—‹ ๐Ÿ—‹
key <AE10> {[ 0, equal, U2248, U2A72, U007D, U2070, U221E, NoSymbol ]}; // 0 = โ‰ˆ โฉฒ } โฐ โˆž ๐Ÿ—‹
key <AE11> {[ plus, question, NoSymbol, U00BF, backslash, U00B1, NoSymbol, NoSymbol ]}; // + ? ๐Ÿ—‹ ยฟ \ ยฑ ๐Ÿ—‹ ๐Ÿ—‹
key <AE12> {[ U0060, U00B4, NoSymbol, NoSymbol, U22CD, U2116, NoSymbol, NoSymbol ]}; // ` ยด ๐Ÿ—‹ ๐Ÿ—‹ โ‹ โ„– ๐Ÿ—‹ ๐Ÿ—‹
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// key <BKSP> {[ BackSpace ]}; // ei tohi remappida! SEST: X'i killib (/etc/default/keyboard:terminate:XKBOPTIONS="terminate:ctrl_alt_bksp")aint /etc/default/keyboard:BACKSPACE="guess" ehk keycode 22 (keysym 0xff08, BackSpace) (vist contextipรตhine siis)
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// Row โ„– ๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš๐Ÿš
// keyboard main section: row 3: TAB QWERTYUIOPรœร•
// Shortcuts: Key Shift Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
key <TAB> {[ Tab, ISO_Left_Tab,U2022, U1F6A9, NoSymbol, NoSymbol, NoSymbol, U1F3F4 ]}; // TAB TAB โ€ข ๐Ÿšฉ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿด
key <AD01> {[ q, Q, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // q Q ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <AD02> {[ w, W, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // w W ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <AD03> {[ e, E, NoSymbol, NoSymbol, U20AC, U20AC, NoSymbol, U2091 ]}; // e E ๐Ÿ—‹ ๐Ÿ—‹ โ‚ฌ โ‚ฌ ๐Ÿ—‹ โ‚‘
key <AD04> {[ r, R, NoSymbol, NoSymbol, U2122, U00AE, NoSymbol, U1D63 ]}; // r R ๐Ÿ—‹ ๐Ÿ—‹ โ„ข ยฎ ๐Ÿ—‹ แตฃ
key <AD05> {[ t, T, U1F143, NoSymbol, UA68C, U24E3, NoSymbol, U209C ]}; // t T ๐Ÿ…ƒ ๐Ÿ—‹ ๊šŒ โ“ฃ ๐Ÿ—‹ โ‚œ
key <AD06> {[ y, Y, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // y Y ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <AD07> {[ u, U, NoSymbol, NoSymbol, U23A1, U2770, NoSymbol, U1D64 ]}; // u U ๐Ÿ—‹ ๐Ÿ—‹ โŽก โฐ ๐Ÿ—‹ แตค
key <AD08> {[ i, I, NoSymbol, NoSymbol, U23A6, U2771, NoSymbol, U1D62 ]}; // i I ๐Ÿ—‹ ๐Ÿ—‹ โŽฆ โฑ ๐Ÿ—‹ แตข
key <AD09> {[ o, O, NoSymbol, NoSymbol, U00F8, U00D8, NoSymbol, U2092 ]}; // o O ๐Ÿ—‹ ๐Ÿ—‹ รธ ร˜ ๐Ÿ—‹ โ‚’
key <AD10> {[ p, P, NoSymbol, U03C0, U00B6, NoSymbol, NoSymbol, U209A ]}; // p P ๐Ÿ—‹ ฯ€ ยถ ๐Ÿ—‹ ๐Ÿ—‹ โ‚š
key <AD11> {[ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, U2762, U1F497, NoSymbol, NoSymbol ]}; // รผ รœ ๐Ÿ—‹ ๐Ÿ—‹ โข ๐Ÿ’– ๐Ÿ—‹ ๐Ÿ—‹
key <AD12> {[ otilde, Otilde, NoSymbol, NoSymbol, section, NoSymbol, NoSymbol, NoSymbol ]}; // รต ร• ๐Ÿ—‹ ๐Ÿ—‹ ยง ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// Row โ„– ๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›๐Ÿ›
// keyboard main section: row 4: CapsLock ASDFGHJKLร–ร„'
// Shortcuts: Key Shift Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// key <CAPS> = Modifier
key <AC01> {[ a, A, NoSymbol, NoSymbol, U00E0, U1D6C2, NoSymbol, U2090 ]}; // a A ๐Ÿ—‹ ๐Ÿ—‹ ร  ๐›‚ ๐Ÿ—‹ โ‚
key <AC02> {[ s, S, NoSymbol, NoSymbol, scaron, Scaron, NoSymbol, U209B ]}; // s S ๐Ÿ—‹ ๐Ÿ—‹ ลก ล  ๐Ÿ—‹ โ‚›
key <AC03> {[ d, D, NoSymbol, U1D6AB, U1F133, U23F3, NoSymbol, NoSymbol ]}; // d D ๐Ÿ—‹ ๐šซ ๐Ÿ„ณ โณ ๐Ÿ—‹ ๐Ÿ—‹
key <AC04> {[ f, F, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // f F ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <AC05> {[ g, G, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]}; // g G ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <AC06> {[ h, H, NoSymbol, NoSymbol, NoSymbol, U14C7, NoSymbol, U2095 ]}; // h H ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ แ“‡ ๐Ÿ—‹ โ‚•
key <AC07> {[ j, J, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U2C7C ]}; // j J ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ โฑผ
key <AC08> {[ k, K, NoSymbol, NoSymbol, U0138, U1F413, NoSymbol, U2096 ]}; // k K ๐Ÿ—‹ ๐Ÿ—‹ ฤธ ๐Ÿ“ ๐Ÿ—‹ โ‚–
key <AC09> {[ l, L, NoSymbol, NoSymbol, U1F13B, U1F411, NoSymbol, U2097 ]}; // l L ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ„ป ๐Ÿ‘ ๐Ÿ—‹ โ‚—
key <AC10> {[ odiaeresis, Odiaeresis, NoSymbol, NoSymbol, dead_acute, dead_doubleacute,NoSymbol, NoSymbol ]}; // รถ ร– ๐Ÿ—‹ ๐Ÿ—‹ ยด ห ๐Ÿ—‹ ๐Ÿ—‹
key <AC11> {[ adiaeresis, Adiaeresis, U1F3A9, NoSymbol, asciicircum, U00E5, NoSymbol, NoSymbol ]}; // รค ร„ ๐ŸŽฉ ๐Ÿ—‹ ^ รฅ ๐Ÿ—‹ ๐Ÿ—‹
key <BKSL> {[ apostrophe, asterisk, NoSymbol, NoSymbol, onehalf, U2731, NoSymbol, NoSymbol ]}; // ' * ๐Ÿ—‹ ๐Ÿ—‹ ยฝ โœฑ ๐Ÿ—‹ ๐Ÿ—‹
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// Row โ„– ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ๐Ÿœ
// keyboard main section: row 5: Shift <ZXCVBNM,.- Shift
// Shortcuts: Key Shift Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
key <LSGT> {[ bar, brokenbar, U21B3, NoSymbol, U2190, U2192, NoSymbol, NoSymbol ]}; // | ยฆ โ†ณ ๐Ÿ—‹ โ† โ†’ ๐Ÿ—‹ ๐Ÿ—‹
key <AB01> {[ z, Z, NoSymbol, NoSymbol, zcaron, Zcaron, NoSymbol, NoSymbol ]}; // z Z ๐Ÿ—‹ ๐Ÿ—‹ ลพ ลฝ ๐Ÿ—‹ ๐Ÿ—‹
key <AB02> {[ x, X, NoSymbol, NoSymbol, NoSymbol, U1D5EB, NoSymbol, U2093 ]}; // x X ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ๐—ซ ๐Ÿ—‹ โ‚“
key <AB03> {[ c, C, NoSymbol, NoSymbol, U00A2, U00A9, NoSymbol, U1D520 ]}; // c C ๐Ÿ—‹ ๐Ÿ—‹ ยข ยฉ ๐Ÿ—‹ ๐” 
key <AB04> {[ v, V, NoSymbol, NoSymbol, NoSymbol, U33A7, NoSymbol, U1D65 ]}; // v V ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹ ใŽง ๐Ÿ—‹ แตฅ
key <AB05> {[ b, B, NoSymbol, NoSymbol, U26D4, U33A8, NoSymbol, NoSymbol ]}; // b B ๐Ÿ—‹ ๐Ÿ—‹ โ›” ใŽจ ๐Ÿ—‹ ๐Ÿ—‹
key <AB06> {[ n, N, NoSymbol, NoSymbol, U03B7, U33A1, NoSymbol, U2099 ]}; // n N ๐Ÿ—‹ ๐Ÿ—‹ ฮท ใŽก ๐Ÿ—‹ โ‚™
key <AB07> {[ m, M, NoSymbol, NoSymbol, U00B5, U33A5, NoSymbol, U2098 ]}; // m M ๐Ÿ—‹ ๐Ÿ—‹ ยต ใŽฅ ๐Ÿ—‹ โ‚˜
key <AB08> {[ comma, semicolon, NoSymbol, NoSymbol, less, lessthanequal, NoSymbol, NoSymbol ]}; // , ; ๐Ÿ—‹ ๐Ÿ—‹ < โ‰ค ๐Ÿ—‹ ๐Ÿ—‹
key <AB09> {[ period, colon, NoSymbol, NoSymbol, greater, greaterthanequal,NoSymbol, NoSymbol ]}; // . : ๐Ÿ—‹ ๐Ÿ—‹ > โ‰ฅ ๐Ÿ—‹ ๐Ÿ—‹
key <AB10> {[ minus, underscore, NoSymbol, NoSymbol, U1F795, U2B1C, NoSymbol, U25EF ]}; // - _ ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿž• โฌœ ๐Ÿ—‹ โ—ฏ
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// Row โ„– ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ
// keyboard main section: row 6: Fn Ctrl Super Alt Space AltGr PrintScreen Ctrl + dpad
// Shortcuts: Key Shift Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
// keyboard dpad section:
// 3 levels used as base, BECAUSE Chrome ignores them
// Shortcuts: Key Shift Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8 // 1 2 5 3 4 6 7 8
key <PGUP> {[ KP_Prior, KP_Prior, NoSymbol, NoSymbol, KP_Prior, U1F44D, NoSymbol, NoSymbol ]}; // PageUp ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ‘ ๐Ÿ—‹ ๐Ÿ—‹
key <UP> {[ KP_Up, KP_Up, NoSymbol, NoSymbol, KP_Up, U1F881, NoSymbol, NoSymbol ]}; // Up ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿข ๐Ÿ—‹ ๐Ÿ—‹
key <PGDN> {[ KP_Next, KP_Next, NoSymbol, NoSymbol, KP_Next, U1F44E, NoSymbol, NoSymbol ]}; // PageDown ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ‘Ž ๐Ÿ—‹ ๐Ÿ—‹
key <LEFT> {[ KP_Left, KP_Left, NoSymbol, NoSymbol, KP_Left, U1F880, NoSymbol, NoSymbol ]}; // Left ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿข€ ๐Ÿ—‹ ๐Ÿ—‹
key <DOWN> {[ KP_Down, KP_Down, NoSymbol, NoSymbol, KP_Down, U1F883, NoSymbol, NoSymbol ]}; // Down ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿขƒ ๐Ÿ—‹ ๐Ÿ—‹
key <RGHT> {[ KP_Right, KP_Right, NoSymbol, NoSymbol, KP_Right, U1F882, NoSymbol, NoSymbol ]}; // Right ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿข‚ ๐Ÿ—‹ ๐Ÿ—‹
// Levels: 1 2 3 4 5 6 7 8 // 1 2 5 3 4 6 7 8
// keyboard numpad section: top row launchers|multimedia keys|app keys
// Shortcuts: Key Shift Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8
// Volume keyd: NB!!
// 2x neist nuppudest kasutab hw codetud shortcutti, mida ei saa 1x keyks muuta:
// https://unix.stackexchange.com/questions/113906/remapping-keys-that-generate-multiple-scan-codes
// # VolUp (numpadi kohal reas #2):
// KeyRelease event, serial 687, synthetic NO, window 0x8000001,
// root 0x14d, subw 0x0, time 561220532, (125,-24), root:(6770,371),
// state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
// XLookupString gives 0 bytes:
// XFilterEvent returns: False
// # VolDown (numpadi kohal reas #3):
// FocusOut event, serial 687, synthetic NO, window 0x8000001,
// mode NotifyGrab, detail NotifyAncestor
//
// FocusIn event, serial 687, synthetic NO, window 0x8000001,
// mode NotifyUngrab, detail NotifyAncestor
//
// KeymapNotify event, serial 687, synthetic NO, window 0x0,
// keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
// 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
// # VolMute (numpadi kohal reas #4):
// KeyRelease event, serial 687, synthetic NO, window 0x8000001,
// root 0x14d, subw 0x0, time 561251938, (81,-14), root:(6726,381),
// state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
// XLookupString gives 0 bytes:
// XFilterEvent returns: False
// DONE: proovisin lรคbi kรตik inet all special keys sh. I0..I400 = nada, mitte รผkski neljast ei funkanud
// TODO.(NOT:L4 [L4 on hw encodetud need nupud]): mapi need tavanuppudeks (replace key <VOLsth>), et saaks 4 levelit kasutada (mitte nii, et 1st level ongi juba 2x combinatsioon, nagu praegu)
// KEY_HOMEPAGE jรครคb mรตnikord kinni ja selle fiximiseks peab 10000x sรผgavalt seda vajutama
// TODO: siia borderid (nagu https://github.com/emareg/unikeyboard )
// TODO: level7+8 = borderid? (useless?)
// keyboard numpad section: numpad
// Shortcuts: Key Shft=Tiling Caps+Key Caps+Shift AltGr AltGr+Shift Caps+AltGr suht mรตtetu siin: Caps+AltGr+Shift
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
key <NMLK> {[ XF86WWW, XF86WWW, NoSymbol, NoSymbol, XF86MySites, NoSymbol, NoSymbol, NoSymbol ]}; // Cr FF ๐Ÿ—‹ ๐Ÿ—‹ fm ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <KPDV> {[ KP_Divide, KP_Divide, NoSymbol, NoSymbol, U2797, NoSymbol, NoSymbol, NoSymbol ]}; // / / ๐Ÿ—‹ ๐Ÿ—‹ โž— ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <KPMU> {[ KP_Multiply,KP_Multiply,NoSymbol, NoSymbol, U2716, U2093, NoSymbol, NoSymbol ]}; // * * ๐Ÿ—‹ ๐Ÿ—‹ โœ– โ‚“ ๐Ÿ—‹ ๐Ÿ—‹
key <KPSU> {[ KP_Subtract,KP_Subtract,NoSymbol, NoSymbol, U2796, U208B, NoSymbol, NoSymbol ]}; // - - ๐Ÿ—‹ ๐Ÿ—‹ โž– ๐Ÿ—‹ ๐Ÿ—‹ ๐Ÿ—‹
key <KP7> {[ KP_7, KP_7, U1D7DF, NoSymbol, U2087, U2195, NoSymbol, NoSymbol ]}; // KP 7 ๐ŸŸ ๐Ÿ—‹ โ‚‡ โ†• ๐Ÿ—‹ ๐Ÿ—‹
key <KP8> {[ KP_8, KP_8, U1D7E0, NoSymbol, U2088, U2B71, NoSymbol, NoSymbol ]}; // KP 8 ๐Ÿ  ๐Ÿ—‹ โ‚ˆ โญฑ ๐Ÿ—‹ ๐Ÿ—‹
key <KP9> {[ KP_9, KP_9, U1D7E1, NoSymbol, U2089, U21A8, U279A, NoSymbol ]}; // KP 9 ๐Ÿก ๐Ÿ—‹ โ‚‰ โ†จ โžš ๐Ÿ—‹
key <KP4> {[ KP_4, KP_4, U1D7DC, NoSymbol, U2084, U2B70, NoSymbol, NoSymbol ]}; // KP 4 ๐Ÿœ ๐Ÿ—‹ โ‚„ โญฐ ๐Ÿ—‹ ๐Ÿ—‹
key <KP5> {[ KP_5, KP_5, U1D7DD, NoSymbol, U2085, U21C5, NoSymbol, NoSymbol ]}; // KP 5 ๐Ÿ ๐Ÿ—‹ โ‚… โ‡… ๐Ÿ—‹ ๐Ÿ—‹
key <KP6> {[ KP_6, KP_6, U1D7DE, NoSymbol, U2086, U2B72, NoSymbol, NoSymbol ]}; // KP 6 ๐Ÿž ๐Ÿ—‹ โ‚† โญฒ ๐Ÿ—‹ ๐Ÿ—‹
key <KPAD> {[ KP_Add, KP_Add, NoSymbol, NoSymbol, U2795, U208A, U2502, U2503 ]}; // + + ๐Ÿ—‹ ๐Ÿ—‹ โž• โ‚Š โ”‚ โ”ƒ
key <KP1> {[ KP_1, KP_1, U1D7D9, NoSymbol, U2081, U2194, NoSymbol, NoSymbol ]}; // KP 1 ๐Ÿ™ ๐Ÿ—‹ โ‚ โ†” ๐Ÿ—‹ ๐Ÿ—‹
key <KP2> {[ KP_2, KP_2, U1D7DA, NoSymbol, U2082, U2B73, NoSymbol, NoSymbol ]}; // KP 2 ๐Ÿš ๐Ÿ—‹ โ‚‚ โญณ ๐Ÿ—‹ ๐Ÿ—‹
key <KP3> {[ KP_3, KP_3, U1D7DB, NoSymbol, U2083, U21B3, U2798, NoSymbol ]}; // KP 3 ๐Ÿ› ๐Ÿ—‹ โ‚ƒ โ†ณ โž˜ ๐Ÿ—‹
key <KP0> {[ KP_0, KP_0, U1D7D8, NoSymbol, U2080, U2318, U2500, U2501 ]}; // KP 0 ๐Ÿ˜ ๐Ÿ—‹ โ‚€ โŒ˜ โ”€ โ”
key <KPDL> {[ KP_Decimal, KP_Decimal, NoSymbol, NoSymbol, U2605, U2606, NoSymbol, NoSymbol ]}; // KP . . ๐Ÿ—‹ ๐Ÿ—‹ โ˜… โ˜† ๐Ÿ—‹ ๐Ÿ—‹
key <KPEN> {[ KP_Enter, KP_Enter, NoSymbol, NoSymbol, U208C, U000A, NoSymbol, NoSymbol ]}; // KP_Enter ๐Ÿ—‹ ๐Ÿ—‹1 โ‚Œ LF ๐Ÿ—‹ ๐Ÿ—‹
// Levels: 1 2 3 4 5 6 7 8 // 1 2 3 4 5 6 7 8
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment