Index: geometry/microsoft =================================================================== RCS file: /cvs/xkeyboard-config/xkeyboard-config/geometry/microsoft,v retrieving revision 1.5 diff -u -r1.5 microsoft --- geometry/microsoft 9 Oct 2007 20:56:16 -0000 1.5 +++ geometry/microsoft 8 Mar 2008 22:24:25 -0000 @@ -533,3 +533,43 @@ alias = ; alias = ; }; + +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 =================================================================== RCS file: /cvs/xkeyboard-config/xkeyboard-config/keycodes/Makefile.am,v retrieving revision 1.6 diff -u -r1.6 Makefile.am --- keycodes/Makefile.am 16 Oct 2006 19:04:52 -0000 1.6 +++ keycodes/Makefile.am 8 Mar 2008 22:24:25 -0000 @@ -11,6 +11,7 @@ hp \ ibm \ macintosh \ +nek4k \ sony \ sun \ xfree86 \ Index: keycodes/nek4k =================================================================== RCS file: keycodes/nek4k diff -N keycodes/nek4k --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ keycodes/nek4k 8 Mar 2008 22:24:25 -0000 @@ -0,0 +1,45 @@ +default xkb_keycodes "nek4k" { + + = 180; + = 225; + = 223; + + = 191; + = 192; + + = 166; + = 167; + + = 125; + = 187; + = 188; + + = 121; + = 122; + = 123; + = 172; + + = 148; + +alias = ; + + = 218; + = 219; + = 220; + = 221; + = 222; + + = 146; + = 139; + = 190; + = 189; + = 142; + + = 214; + = 240; + = 241; + = 239; + = 193; + = 242; +alias = ; +}; Index: rules/base.lists.part =================================================================== RCS file: /cvs/xkeyboard-config/xkeyboard-config/rules/base.lists.part,v retrieving revision 1.62 diff -u -r1.62 base.lists.part --- rules/base.lists.part 6 Mar 2008 22:20:16 -0000 1.62 +++ rules/base.lists.part 8 Mar 2008 22:24:25 -0000 @@ -51,6 +51,7 @@ logidinovo logidinovoedge \ microsoftinet microsoftpro microsoftprousb microsoftprooem microsoftprose \ microsoftoffice microsoftmult \ + microsoftnek4k \ mx1998 mx2500 mx2750 \ oretec \ presario propeller \ Index: rules/base.m_g.part =================================================================== RCS file: /cvs/xkeyboard-config/xkeyboard-config/rules/base.m_g.part,v retrieving revision 1.15 diff -u -r1.15 base.m_g.part --- rules/base.m_g.part 7 Jan 2008 23:07:51 -0000 1.15 +++ rules/base.m_g.part 8 Mar 2008 22:24:25 -0000 @@ -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 =================================================================== RCS file: /cvs/xkeyboard-config/xkeyboard-config/rules/base.m_k.part,v retrieving revision 1.15 diff -u -r1.15 base.m_k.part --- rules/base.m_k.part 7 Jan 2008 23:07:52 -0000 1.15 +++ rules/base.m_k.part 8 Mar 2008 22:24:25 -0000 @@ -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 =================================================================== RCS file: /cvs/xkeyboard-config/xkeyboard-config/rules/base.xml.in,v retrieving revision 1.245 diff -u -r1.245 base.xml.in --- rules/base.xml.in 1 Mar 2008 21:01:56 -0000 1.245 +++ rules/base.xml.in 8 Mar 2008 22:24:25 -0000 @@ -835,6 +835,13 @@ + microsoftnek4k + <_description>Microsoft Natural Ergonomic Keyboard 4000 + Microsoft Inc. + + + + oretec <_description>Ortek MCK-800 MM/Internet keyboard Ortek Index: symbols/inet =================================================================== RCS file: /cvs/xkeyboard-config/xkeyboard-config/symbols/inet,v retrieving revision 1.81 diff -u -r1.81 inet --- symbols/inet 1 Mar 2008 21:01:56 -0000 1.81 +++ symbols/inet 8 Mar 2008 22:24:26 -0000 @@ -1704,6 +1704,42 @@ // My Computer Section -- Left Side }; +// Microsoft Natural Ergonomic Keyboard 4000 +partial alphanumeric_keys +xkb_symbols "microsoftnek4k" { + key { [ XF86WWW ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; + key { [ XF86Documents ] }; +}; + // Oretec // Oretec MCK-800 MM/Internet keyboard --- keycodes/Makefile.in.orig 2008-03-08 22:45:22.000000000 +0000 +++ keycodes/Makefile.in 2008-03-08 22:46:01.000000000 +0000 @@ -222,6 +222,7 @@ hp \ ibm \ macintosh \ +nek4k \ sony \ sun \ xfree86 \