forked from calin-darie/extra-keyboard-layouts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paththumbsmodifiersv2.xkb_custom
103 lines (95 loc) · 9.7 KB
/
thumbsmodifiersv2.xkb_custom
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// Manually patched version of file generated by kalamine on 2024-02-11
// Wayland-compabile: rename that file to /usr/share/X11/xkb/symbols/custom then, after logout and login, select in gnome settings the keyboard "A user-defined custom layout", and *remove* the other keyboards to make modifiers work.
//
// File : azertyl.xkb
// Project page : https://OneDeadKey.github.com/kalamine
// Author : xdej
// Version : 0.0.1
// License : WTFPL - Do What The Fuck You Want Public License
//
// custom AZERTY with AltGr layout to avoid keys ²BY167=^$ù*< and move modifiers of KeySonic's Scissor under thumbs
//
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
// │ │ 1 ! │ 2 > │ 3 < │ 4 $ │ 5 % │ 6 ^ │ 7 & │ 8 * │ 9 ± │ 0 ° │ ° } │ + ┃ ┃
// │ Alt │ & | │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = | ┃ ⌫ ┃
// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫
// ┃ ┃ A │ Z 1 │ E │ R 6 │ T │ Y │ U │ I │ O │ P + │ │ ┃ ┃
// ┃ ↹ ┃ â │ & │ ê │ - │ y │ │ û │ î │ ô │ = │ ⎇ │ Ctrl┃ ┃
// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ⏎ ┃
// ┃ ┃ Q ␛ │ S ⌫ │ D € │ F 7 │ G │ H ← │ J ↓ │ K ↑ │ L → │ M ⏎ │ % │ µ ┃ ┃
// ┃ ⇬ ┃ ␛ │ ⌫ │ | │ è │ ù │ ← │ ↓ │ ↑ │ → │ ⏎ │ ù │ * ┃ ┃
// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫
// ┃ ┃ │ W │ X │ C │ V 6 │ B │ N │ ? │ . / │ / / │ § ┃ ┃
// ┃ ⇧ ┃ ⇧ │ │ │ │ - │ │ b │ , │ ; : │ : : │ ! ┃ ⇧ ┃
// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ Ctrl ┃ super ┃ Alt ┃ ␣ ┃ AltGr ┃ super ┃ menu ┃ Ctrl ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys modifier_keys
xkb_symbols "custom" {
name[group1]= "custom AZERTY with AltGr layout to avoid keys ²BY167=^$ù*<";
key.type[group1] = "FOUR_LEVEL";
// Digits
key <AE01> {[ ampersand , 1 , bar , exclam ]}; // & 1 | !
key <AE02> {[ eacute , 2 , asciitilde , greater ]}; // é 2 ~ >
key <AE03> {[ quotedbl , 3 , numbersign , less ]}; // " 3 # <
key <AE04> {[ apostrophe , 4 , braceleft , dollar ]}; // ' 4 { $
key <AE05> {[ parenleft , 5 , bracketleft , percent ]}; // ( 5 [ %
key <AE06> {[ minus , 6 , bar , asciicircum ]}; // - 6 | ^
key <AE07> {[ egrave , 7 , grave , ampersand ]}; // è 7 ` &
key <AE08> {[ underscore , 8 , backslash , asterisk ]}; // _ 8 \ *
key <AE09> {[ ccedilla , 9 , asciicircum , plusminus ]}; // ç 9 ^ ±
key <AE10> {[ agrave , 0 , at , degree ]}; // à 0 @ °
// Letters, first row
key <AD01> {[ a , A , acircumflex , Acircumflex ]}; // a A â Â
key <AD02> {[ z , Z , ampersand , 1 ]}; // z Z & 1
key <AD03> {[ e , E , ecircumflex , Ecircumflex ]}; // e E ê Ê
key <AD04> {[ r , R , minus , 6 ]}; // r R - 6
key <AD05> {[ t , T , y , Y ]}; // t T y Y
key <AD06> {[ y , Y , VoidSymbol , VoidSymbol ]}; // y Y
key <AD07> {[ u , U , ucircumflex , Ucircumflex ]}; // u U û Û
key <AD08> {[ i , I , icircumflex , Icircumflex ]}; // i I î Î
key <AD09> {[ o , O , ocircumflex , Ocircumflex ]}; // o O ô Ô
key <AD10> {[ p , P , equal , plus ]}; // p P = +
// Letters, second row
key <AC01> {[ q , Q , Escape , Escape ]}; // q Q ␛ ␛
key <AC02> {[ s , S , BackSpace , BackSpace ]}; // s S ⌫ ⌫
key <AC03> {[ d , D , bar , EuroSign ]}; // d D | €
key <AC04> {[ f , F , egrave , 7 ]}; // f F è 7
key <AC05> {[ g , G , ugrave , Ugrave ]}; // g G ù Ù
key <AC06> {[ h , H , Left , Left ]}; // h H ← ←
key <AC07> {[ j , J , Down , Down ]}; // j J ↓ ↓
key <AC08> {[ k , K , Up , Up ]}; // k K ↑ ↑
key <AC09> {[ l , L , Right , Right ]}; // l L → →
key <AC10> {[ m , M , Return , Return ]}; // m M ⏎ ⏎
// Letters, third row
key <AB01> {[ w , W , VoidSymbol , VoidSymbol ]}; // w W
key <AB02> {[ x , X , VoidSymbol , VoidSymbol ]}; // x X
key <AB03> {[ c , C , VoidSymbol , VoidSymbol ]}; // c C
key <AB04> {[ v , V , minus , 6 ]}; // v V - 6
key <AB05> {[ b , B , VoidSymbol , VoidSymbol ]}; // b B
key <AB06> {[ n , N , b , B ]}; // n N b B
key <AB07> {[ comma , question , VoidSymbol , VoidSymbol ]}; // , ?
key <AB08> {[ semicolon , period , colon , slash ]}; // ; . : /
key <AB09> {[ colon , slash , colon , slash ]}; // : / : / # key unavailable for bluetooth keyboard on bVNC combined with x11vnc -remap
key <AB10> {[ exclam , section , VoidSymbol , VoidSymbol ]}; // ! §
// Pinky keys
key <AE11> {[ parenright , degree , bracketright , braceright ]}; // ) ° ] }
key <AE12> {[ less , greater , VoidSymbol , VoidSymbol ]}; // < >
key <AE13> {[ VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; //
key <AD11> {[ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift]}; // ⎇ (repeated so that combined with shift it is still a ISO_Level3_Shift)
key <AD12> {[ Control_L , Control_L , Control_L , Control_L ]}; // Ctrl
key <AC11> {[ ugrave , percent , VoidSymbol , VoidSymbol ]}; // ù %
key <AB11> {[ VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; //
key <TLDE> {[ Alt_L , Alt_L , Alt_L , Alt_L ]}; // Alt
key <BKSL> {[ asterisk , mu , VoidSymbol , VoidSymbol ]}; // * µ
key <LSGT> {[ Shift_L , Shift_L , Shift_L , Shift_L ]}; // Shift (repeated so that combined with ISO_Level3_Shift it is still a shift.
// Space bar
key <SPCE> {[ space , space , space , space ]}; // ' '
include "level3(ralt_switch)"
// overwritten keys
// key <> {[ equal , plus , bar , brokenbar ]}; // = + | ¦
// key <> {[ dead_circumflex , dead_diaeresis , VoidSymbol , VoidSymbol ]}; // ^ ¨
// key <> {[ dollar , sterling , VoidSymbol , VoidSymbol ]}; // $ £
// key <> {[ twosuperior , twosuperior , VoidSymbol , VoidSymbol ]}; // ² ²
};