File microsoftnek4k.diff of Package xkeyboard-config

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
@@ -12,6 +12,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.xml.in
===================================================================
--- rules/base.xml.in.orig
+++ rules/base.xml.in
@@ -869,6 +869,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
@@ -1407,6 +1407,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
@@ -238,6 +238,7 @@ fujitsu \
 hp \
 ibm \
 macintosh \
+nek4k \
 sony \
 sun \
 xfree86 \
Index: rules/base.lists.part
===================================================================
--- rules/base.lists.part.orig
+++ rules/base.lists.part
@@ -60,6 +60,7 @@
 	      logidinovo logidinovoedge \
               microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \
               microsoftoffice microsoftmult \
+              microsoftnek4k \
               mx1998 mx2500 mx2750 \
               oretec \
               pc105 \
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)
   latitude	=	dell(latitude)
Index: rules/base.m_k.part
===================================================================
--- rules/base.m_k.part.orig
+++ rules/base.m_k.part
@@ -6,6 +6,7 @@
   sun6		=	sun(type6_usb)
   sun6euro	=	sun(type6tuv_usb)
   pc98		=	xfree98(pc98)
+  microsoftnek4k =	evdev+nek4k(nek4k)
  $applealu	=	macintosh(alukbd)
   macintosh_hhk	=	macintosh(hhk)
   macintosh_old	=	macintosh(old)
openSUSE Build Service is sponsored by