xkeyboard-config/microsoftnek4k.diff

223 lines
7.0 KiB
Diff

Index: geometry/microsoft
===================================================================
--- geometry/microsoft.orig
+++ geometry/microsoft
@@ -533,3 +533,43 @@ xkb_geometry "elite" {
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
+
+xkb_geometry "nek4k" {
+
+ // Approximate layout for a Microsoft Natural Keyboard
+ description= "Microsoft Natural Ergonomic Keyboard 4000";
+ width= 500;
+ height= 260;
+
+ shape.cornerRadius= 1;
+ shape "ZOOM" { { [ 16,15] } };
+ shape "MUL1" { { [ 22,10] } };
+ shape "MUL2" { { [ 20,10] } };
+ shape "MUL3" { { [ 26,10] } };
+ shape "DIR" { { [ 17,15] } };
+ shape "LDEF" { { [ 18,18] }, { [2,1], [15,16] } };
+ shape "FUNC" { { [ 18,15] }, { [3,1], [15,10] } };
+ shape "TABK" { { [ 36,18] }, { [3,1], [34,16] } };
+ shape "CAPS" { { [ 37,18] }, { [3,1], [33,16] } };
+ shape "LFSH" { { [ 23,18] }, { [3,1], [21,16] } };
+ shape "KEY~" { { [ 28,18] }, { [3,1], [25,15] } };
+ shape "KEY6" { { [ 20,18] }, { [2,1], [16,16] } };
+ shape "KEYB" { { [ 19,18] }, { [2,1], [15,16] } };
+ shape "KEYT" { { [ 30,18] }, { [2,1], [26,16] } };
+ shape "KEYG" { { [ 26,18] }, { [2,1], [22,16] } };
+ shape "LCTL" {
+ approx= { [ 33, 21 ] },
+ { [ 0, 0], [ 33, 0 ], [ 33, 25 ], [ 0, 18 ] },
+ { [ 2, 1], [ 30, 1 ], [ 30, 20 ], [ 2, 15 ] }
+ };
+ shape "LWIN" {
+ approx= { [ 26, 26 ] },
+ { [ 0, 0], [ 26, 0 ], [ 26, 28 ], [ 0, 25 ] },
+ { [ 2, 1], [ 23, 1 ], [ 23, 23 ], [ 2, 21 ] }
+ };
+ shape "LALT" {
+ approx= { [ 27, 29 ] },
+ { [ 0, 0], [ 27, 0 ], [ 27, 30 ], [ 0, 28 ] },
+ { [ 2, 1], [ 24, 1 ], [ 24, 26 ], [ 2, 24 ] }
+ };
+};
Index: keycodes/Makefile.am
===================================================================
--- keycodes/Makefile.am.orig
+++ keycodes/Makefile.am
@@ -11,6 +11,7 @@ fujitsu \
hp \
ibm \
macintosh \
+nek4k \
sony \
sun \
xfree86 \
Index: keycodes/nek4k
===================================================================
--- /dev/null
+++ keycodes/nek4k
@@ -0,0 +1,45 @@
+default xkb_keycodes "nek4k" {
+
+ <WEB> = 180;
+ <FIND> = 225;
+ <MAIL> = 223;
+
+ <ZMUP> = 191;
+ <ZMDN> = 192;
+
+ <PREV> = 166;
+ <SUCC> = 167;
+
+ <EQUL> = 125;
+ <PARO> = 187;
+ <PARC> = 188;
+
+ <MUTE> = 121;
+ <VOLD> = 122;
+ <VOLU> = 123;
+ <PLAY> = 172;
+
+ <CALC> = 148;
+
+alias <BKMK> = <DOWN>;
+
+ <ONE> = 218;
+ <TWO> = 219;
+ <THRE> = 220;
+ <FOUR> = 221;
+ <FIVE> = 222;
+
+ <HELP> = 146;
+ <UNDO> = 139;
+ <REDO> = 190;
+ <NEW> = 189;
+ <OPEN> = 142;
+
+ <CLOS> = 214;
+ <REPL> = 240;
+ <FWD> = 241;
+ <SEND> = 239;
+ <SPLL> = 193;
+ <SAVE> = 242;
+alias <PRNT> = <ONE>;
+};
Index: rules/base.lists.part
===================================================================
--- rules/base.lists.part.orig
+++ rules/base.lists.part
@@ -52,6 +52,7 @@
logidinovo logidinovoedge \
microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \
microsoftoffice microsoftmult \
+ microsoftnek4k \
mx1998 mx2500 mx2750 \
oretec \
presario propeller \
Index: rules/base.m_g.part
===================================================================
--- rules/base.m_g.part.orig
+++ rules/base.m_g.part
@@ -1,5 +1,6 @@
microsoftelite = microsoft(elite)
$msmodels = microsoft(natural)
+ microsoftnek4k = microsoft(nek4k)
dell101 = dell(dell101)
dellm65 = dell(dellm65)
flexpro = keytronic(FlexPro)
Index: rules/base.m_k.part
===================================================================
--- rules/base.m_k.part.orig
+++ rules/base.m_k.part
@@ -7,6 +7,7 @@
abnt2 = xfree86(abnt2)
jp106 = xfree86(jp106)
evdev = evdev
+ microsoftnek4k = evdev+nek4k(nek4k)
olpc = evdev
macintosh_hhk = macintosh(hhk)
macintosh_old = macintosh(old)
Index: rules/base.xml.in
===================================================================
--- rules/base.xml.in.orig
+++ rules/base.xml.in
@@ -862,6 +862,13 @@
</model>
<model>
<configItem>
+ <name>microsoftnek4k</name>
+ <_description>Microsoft Natural Ergonomic Keyboard 4000</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
<name>oretec</name>
<_description>Ortek MCK-800 MM/Internet keyboard</_description>
<vendor>Ortek</vendor>
Index: symbols/inet
===================================================================
--- symbols/inet.orig
+++ symbols/inet
@@ -1388,6 +1388,42 @@ xkb_symbols "microsoftmult" {
};
+// Microsoft Natural Ergonomic Keyboard 4000
+partial alphanumeric_keys
+xkb_symbols "microsoftnek4k" {
+ key <WEB> { [ XF86WWW ] };
+ key <FIND> { [ XF86Documents ] };
+ key <MAIL> { [ XF86Documents ] };
+ key <ZMUP> { [ XF86Documents ] };
+ key <ZMDN> { [ XF86Documents ] };
+ key <PREV> { [ XF86Documents ] };
+ key <SUCC> { [ XF86Documents ] };
+ key <EQUL> { [ XF86Documents ] };
+ key <PARO> { [ XF86Documents ] };
+ key <PARC> { [ XF86Documents ] };
+ key <MUTE> { [ XF86Documents ] };
+ key <VOLU> { [ XF86Documents ] };
+ key <VOLD> { [ XF86Documents ] };
+ key <PLAY> { [ XF86Documents ] };
+ key <CALC> { [ XF86Documents ] };
+ key <ONE> { [ XF86Documents ] };
+ key <TWO> { [ XF86Documents ] };
+ key <THRE> { [ XF86Documents ] };
+ key <FOUR> { [ XF86Documents ] };
+ key <FIVE> { [ XF86Documents ] };
+ key <HELP> { [ XF86Documents ] };
+ key <UNDO> { [ XF86Documents ] };
+ key <REDO> { [ XF86Documents ] };
+ key <NEW> { [ XF86Documents ] };
+ key <OPEN> { [ XF86Documents ] };
+ key <CLOS> { [ XF86Documents ] };
+ key <REPL> { [ XF86Documents ] };
+ key <FWD> { [ XF86Documents ] };
+ key <SEND> { [ XF86Documents ] };
+ key <SPLL> { [ XF86Documents ] };
+ key <SAVE> { [ XF86Documents ] };
+};
+
// Oretec
// Oretec MCK-800 MM/Internet keyboard
Index: keycodes/Makefile.in
===================================================================
--- keycodes/Makefile.in.orig
+++ keycodes/Makefile.in
@@ -210,6 +210,7 @@ fujitsu \
hp \
ibm \
macintosh \
+nek4k \
sony \
sun \
xfree86 \