summaryrefslogtreecommitdiff
path: root/xkeyboard-config-ducky/ducky_mini
blob: 96ad88eafa89ef83db00632e4c1acb3689049fa4 (plain)
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
// This is a wip layout that mimicks ducky shine mini keyboard layout.
// Uses us standard and ru typewriter keyboard layouts.
// WIP, should be used with lv3 and grp switches
// Has to be copied to /usr/share/X11/xkb/symbols/ducky_mini

default partial alphanumeric_keys
xkb_symbols "us" {
	name[Group1] = "English (US, with a layout mimicking the Ducky Shine Mini fn functionality)";

	include "us(basic)"
	include "ducky_mini(common)"

	// chromium doesn't like it when esc is bound to a normal key :(
	// key <TLDE> { [ Escape,       asciitilde,  grave,       Escape      ] };
	key <AE01> { [ 1,            exclam,      F1,          F1          ] };
	key <AE02> { [ 2,            at,          F2,          F2          ] };
	key <AE03> { [ 3,            numbersign,  F3,          F3          ] };
	key <AE04> { [ 4,            dollar,      F4,          F4          ] };
	key <AE05> { [ 5,            percent,     F5,          F5          ] };
	key <AE06> { [ 6,            asciicircum, F6,          F6          ] };
	key <AE07> { [ 7,            ampersand,   F7,          F7          ] };
	key <AE08> { [ 8,            asterisk,    F8,          F8          ] };
	key <AE09> { [ 9,            parenleft,   F9,          F9          ] };
	key <AE10> { [ 0,            parenright,  F10,         F10         ] };
	key <AE11> { [ minus,        underscore,  F11,         F11         ] };
	key <AE12> { [ equal,        plus,        F12,         F12         ] };

	key <AD09> { [ o,            O,           Up,          Up          ] };
	key <AD10> { [ p,            P,           Print,       Sys_Req     ] };
	key <AD11> { [ bracketleft,  braceleft,   Scroll_Lock, Scroll_Lock ] };
	key <AD12> { [ bracketright, braceright,  Pause,       Break       ] };

	key <AC07> { [ j,            J,           Prior,       Prior       ] };
	key <AC08> { [ k,            K,           Left,        Left        ] };
	key <AC09> { [ l,            L,           Down,        Down        ] };
	key <AC10> { [ semicolon,    colon,       Right,       Right       ] };
	key <AC11> { [ apostrophe,   quotedbl,    Menu,        Menu        ] };

	key <AB07> { [ m,            M,           Next,        Next        ] };
	key <AB08> { [ comma,        less,        Home,        Home        ] };
	key <AB09> { [ period,       greater,     End,         End         ] };

	key <BKSL> { [ backslash,    bar,         Insert,      Insert      ] };
	key <BKSP> { [ BackSpace,    BackSpace,   Delete,      Delete      ] };
};

partial alphanumeric_keys
xkb_symbols "ru" {
	name[Group1] = "Russian (RU typewriter, with a layout mimicking the Ducky Shine Mini fn functionality)";

	include "ru(typewriter)"
	include "ducky_mini(common)"

	// chromium doesn't like it when esc is bound to a normal key :(
	// key <TLDE> { [ Escape,            plus,              bar,         Escape      ] };
	key <AE01> { [ numerosign,        1,                 F1,          F1          ] };
	key <AE02> { [ minus,             2,                 F2,          F2          ] };
	key <AE03> { [ slash,             3,                 F3,          F3          ] };
	key <AE04> { [ quotedbl,          4,                 F4,          F4          ] };
	key <AE05> { [ colon,             5,                 F5,          F5          ] };
	key <AE06> { [ comma,             6,                 F6,          F6          ] };
	key <AE07> { [ period,            7,                 F7,          F7          ] };
	key <AE08> { [ underscore,        8,                 F8,          F8          ] };
	key <AE09> { [ question,          9,                 F9,          F9          ] };
	key <AE10> { [ percent,           0,                 F10,         F10         ] };
	key <AE11> { [ exclam,            equal,             F11,         F11         ] };
	key <AE12> { [ semicolon,         backslash,         F12,         F12         ] };

	key <AD09> { [ Cyrillic_shcha,    Cyrillic_SHCHA,    Up                       ] };
	key <AD10> { [ Cyrillic_ze,       Cyrillic_ZE,       Print,       Sys_Req     ] };
	key <AD11> { [ Cyrillic_ha,       Cyrillic_HA,       Scroll_Lock, Scroll_Lock ] };
	key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Pause,       Break       ] };

	key <AC07> { [ Cyrillic_o,        Cyrillic_O,        Prior,       Prior       ] };
	key <AC08> { [ Cyrillic_el,       Cyrillic_EL,       Left,        Left        ] };
	key <AC09> { [ Cyrillic_de,       Cyrillic_DE,       Down,        Down        ] };
	key <AC10> { [ Cyrillic_zhe,      Cyrillic_ZHE,      Right,       Right       ] };
	key <AC11> { [ Cyrillic_e,        Cyrillic_E,        Menu,        Menu        ] };

	key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, Next,        Next        ] };
	key <AB08> { [ Cyrillic_be,       Cyrillic_BE,       Home,        Home        ] };
	key <AB09> { [ Cyrillic_yu,       Cyrillic_YU,       End,         End         ] };

	key <BKSL> { [ parenright,        parenleft,         Insert,      Insert      ] };
	key <BKSP> { [ BackSpace,         BackSpace,         Delete,      Delete      ] };
};

partial modifier_keys
xkb_symbols "common" {
	name[Group1] = "Common (layout mimicking the Ducky Shine Mini fn functionality)";

	replace key <LCTL> { [ ISO_Level3_Shift ] };
};