--- geometry/microsoft.orig +++ geometry/microsoft @@ -533,3 +533,43 @@ xkb_geometry "elite" { 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 ] } + }; +}; --- keycodes/Makefile.am.orig +++ keycodes/Makefile.am @@ -11,6 +11,7 @@ fujitsu \ hp \ ibm \ macintosh \ +nek4k \ sony \ sun \ xfree86 \ --- /dev/null +++ keycodes/nek4k @@ -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 = ; +}; --- rules/base.xml.in.orig +++ rules/base.xml.in @@ -862,6 +862,13 @@ + microsoftnek4k + <_description>Microsoft Natural Ergonomic Keyboard 4000 + Microsoft Inc. + + + + oretec <_description>Ortek MCK-800 MM/Internet keyboard Ortek --- symbols/inet.orig +++ symbols/inet @@ -1388,6 +1388,42 @@ xkb_symbols "microsoftmult" { }; +// 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 +++ keycodes/Makefile.in @@ -210,6 +210,7 @@ fujitsu \ hp \ ibm \ macintosh \ +nek4k \ sony \ sun \ xfree86 \ --- rules/base.lists.part.orig 2009-11-17 11:24:35.000000000 +0100 +++ rules/base.lists.part 2009-11-17 11:26:07.000000000 +0100 @@ -56,6 +56,7 @@ logidinovo logidinovoedge \ microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \ microsoftoffice microsoftmult \ + microsoftnek4k \ mx1998 mx2500 mx2750 \ oretec \ pc105 \ --- rules/base.m_g.part.orig 2009-08-15 16:31:43.000000000 +0200 +++ rules/base.m_g.part 2009-11-17 11:26:51.000000000 +0100 @@ -1,5 +1,6 @@ microsoftelite = microsoft(elite) $msmodels = microsoft(natural) + microsoftnek4k = microsoft(nek4k) dell101 = dell(dell101) dellm65 = dell(dellm65) latitude = dell(latitude) --- rules/base.m_k.part.orig 2009-09-21 23:23:32.000000000 +0200 +++ rules/base.m_k.part 2009-11-17 11:27:33.000000000 +0100 @@ -6,6 +6,7 @@ sun6euro = sun(type6tuv_usb) pc98 = xfree98(pc98) evdev = evdev + microsoftnek4k = evdev+nek4k(nek4k) olpc = evdev macintosh_hhk = macintosh(hhk) macintosh_old = macintosh(old)