diff -Nrup xkeyboard-config-2.0.orig/geometry/Makefile.am xkeyboard-config-2.0/geometry/Makefile.am --- xkeyboard-config-2.0.orig/geometry/Makefile.am 2009-12-21 23:11:44.000000000 +0100 +++ xkeyboard-config-2.0/geometry/Makefile.am 2010-11-09 15:19:10.993063005 +0100 @@ -7,7 +7,7 @@ amiga ataritt chicony \ dell everex fujitsu \ hhk hp keytronic kinesis \ macintosh microsoft nec nokia \ -northgate pc sony thinkpad \ +northgate pc sanwa sony thinkpad \ sun typematrix winbook README dir_data = $(dist_geom_DATA) diff -Nrup xkeyboard-config-2.0.orig/geometry/Makefile.in xkeyboard-config-2.0/geometry/Makefile.in --- xkeyboard-config-2.0.orig/geometry/Makefile.in 2010-09-15 22:53:09.000000000 +0200 +++ xkeyboard-config-2.0/geometry/Makefile.in 2010-11-09 15:19:16.553063029 +0100 @@ -233,7 +233,7 @@ amiga ataritt chicony \ dell everex fujitsu \ hhk hp keytronic kinesis \ macintosh microsoft nec nokia \ -northgate pc sony thinkpad \ +northgate pc sanwa sony thinkpad \ sun typematrix winbook README dir_data = $(dist_geom_DATA) diff -Nrup xkeyboard-config-2.0.orig/geometry/sanwa xkeyboard-config-2.0/geometry/sanwa --- xkeyboard-config-2.0.orig/geometry/sanwa 1970-01-01 01:00:00.000000000 +0100 +++ xkeyboard-config-2.0/geometry/sanwa 2010-11-09 16:41:03.063063002 +0100 @@ -0,0 +1,151 @@ +// $Xorg: $ +// +//Copyright 1996, 1998 The Open Group +// +//Permission to use, copy, modify, distribute, and sell this software and its +//documentation for any purpose is hereby granted without fee, provided that +//the above copyright notice appear in all copies and that both that +//copyright notice and this permission notice appear in supporting +//documentation. +// +//The above copyright notice and this permission notice shall be +//included in all copies or substantial portions of the Software. +// +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +//OTHER DEALINGS IN THE SOFTWARE. +// +//Except as contained in this notice, the name of The Open Group shall +//not be used in advertising or otherwise to promote the sale, use or +//other dealings in this Software without prior written authorization +//from The Open Group. +// +default xkb_geometry "sanwaskbkg3" { + + description= "Sanwa Supply SKB-KG3"; + // SKB-KG3BK (black) + // http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3BK + // http://www.sanwa.co.jp/zooma/keybord/SKB-KG3BK/ + // SKB-KG3W (white) + // http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3W + // http://www.sanwa.co.jp/zooma/keybord/SKB-KG3SW/ + // SKB-KG3SV (silver) + // http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3SV + // http://www.sanwa.co.jp/zooma/keybord/SKB-KG3SV/ + + width= 304; + height= 127; + + shape.cornerRadius= 1; + shape "TOP" { { [15.25,13] }, { [2,2], [13.25,11] } }; + shape "NORM" { { [17,16] }, { [2,2], [15,14] } }; + shape "TBBK" { { [24.5,16] }, { [2,2], [22.5,14] } }; + shape "RTRN" { { [0,0], [36,0], [36,34], [8.5,34], [8.5,16], [0,16] }, + { [2,2], [34,2], [34,32], [10.5,32], [10.5,14], [2,14] } }; + shape "CAPS" { { [33,16] }, { [28,16] }, { [2,2], [26,14] } }; + shape "LFSH" { { [41,16] }, { [2,2], [39,14] } }; + shape "CTSH" { { [19.5,16] }, { [2,2], [17.5,14] } }; + shape "SPCE" { { [57.5,16] }, { [2,2], [55.5,14] } }; + + shape "LED" { cornerRadius= 0, { [5,1] } }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 3; + indicator.shape= "LED"; + indicator "Num Lock" { left= 247; }; + indicator "Caps Lock" { left= 266; }; + indicator "Scroll Lock" { left= 285; }; + text.color= "black"; + text.top= 1; + text "Vendor1" { left= 10; text="SANWA"; }; + text.top= 4.5; + text "Vendor2" { left= 10; text="SUPPLY"; }; + text "NumLockLabel" { left= 241; text="Num Lock"; }; + text "CapsLockLabel" { left= 260; text="Caps Lock"; }; + text "ScrollLockLabel" { left= 279; text="Scroll Lock"; }; + + section.left= 3; + row.left= 1; + key.shape= "NORM"; + key.gap= 2; + section "Function" { + key.shape= "TOP"; + top= 10; + row { + top= 1; + keys { , , , , , , , + , , , , , , , + {, color="grey20"}, , {, color="grey20"} + }; + }; + overlay "SCLK" { + = + }; + overlay "FN" { + = + }; + }; // End of "Function" section + + section "Alpha" { + top= 24; + row { + top= 2; + keys { , , , , , , , + {, color="grey20"}, {, color="grey20"}, + {, color="grey20"}, {, color="grey20"}, + , , , { , "TBBK" } + }; + }; + row { + top= 20; + keys { { , "TBBK" }, , , , , , + , {, color="grey20"}, {, color="grey20"}, + {, color="grey20"}, {, color="grey20"}, , + , { , "RTRN" } + }; + }; + row { + top= 38; + keys { { , "CAPS" }, , , , , , + , {, color="grey20"}, {, color="grey20"}, + {, color="grey20"}, {, color="grey20"}, , + + }; + }; + row { + top= 56; + keys { { , "LFSH" }, , , , , , + , {, color="grey20"}, , + {, color="grey20"}, {, color="grey20"}, , + {, color="grey20"}, {, key.shape= "CTSH" } + }; + }; + row { + top= 74; + keys { { , key.shape= "CTSH" }, {, color="grey20"}, + , , , {, "SPCE" }, , , + , , {, color="grey20"}, + {, color="grey20"}, + {, key.shape= "CTSH", color="grey20"} + }; + }; + overlay "SCLK" { + =, =, =, =, + =, =, =, =, + =, =, =, =, + =, =, = + }; + overlay "FN" { + =, =, =, = + }; + }; // End of "Alpha" section + + alias = ; + alias = ; + +}; // End of "default" geometry diff -Nrup xkeyboard-config-2.0.orig/rules/base.lists.part xkeyboard-config-2.0/rules/base.lists.part --- xkeyboard-config-2.0.orig/rules/base.lists.part 2010-09-27 23:57:53.000000000 +0200 +++ xkeyboard-config-2.0/rules/base.lists.part 2010-11-09 15:18:40.973062972 +0100 @@ -67,6 +67,7 @@ qtronix \ rapidaccess rapidaccess2 thinkpad60 \ samsung4500 samsung4510 \ + sanwaskbkg3 \ silvercrest \ sk1300 sk2500 sk6200 sk7100 \ sven sven303 symplon \ diff -Nrup xkeyboard-config-2.0.orig/rules/base.ml_s.part xkeyboard-config-2.0/rules/base.ml_s.part --- xkeyboard-config-2.0.orig/rules/base.ml_s.part 2010-03-27 02:35:10.000000000 +0100 +++ xkeyboard-config-2.0/rules/base.ml_s.part 2010-11-09 15:18:36.413063065 +0100 @@ -18,6 +18,7 @@ sun6euro $sun_t6_custom = pc+sun_vndr/us(type6)+sun_vndr/%l%(v) sun6euro * = pc+sun_vndr/us(type6)+%l%(v) pc98 nec_vndr/jp = nec_vndr/jp(pc98) + sanwaskbkg3 * = jp(sanwaskbkg3) macintosh_old us = macintosh_vndr/us(oldmac) macintosh_old en_US = macintosh_vndr/us(oldmac) macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v) diff -Nrup xkeyboard-config-2.0.orig/rules/base.xml.in xkeyboard-config-2.0/rules/base.xml.in --- xkeyboard-config-2.0.orig/rules/base.xml.in 2010-09-05 14:39:48.000000000 +0200 +++ xkeyboard-config-2.0/rules/base.xml.in 2010-11-09 16:45:49.653063003 +0100 @@ -897,6 +897,13 @@ + sanwaskbkg3 + Sanwa Supply SKB-KG3 + Sanwa Supply Inc. + + + + sk1300 <_description>SK-1300 NEC @@ -2951,6 +2958,12 @@ <_description>OADG 109A + + + sanwaskbkg3 + <_description>Sanwa Supply SKB-KG3 + + mac diff -Nrup xkeyboard-config-2.0.orig/rules/evdev.xml.in xkeyboard-config-2.0/rules/evdev.xml.in --- xkeyboard-config-2.0.orig/rules/evdev.xml.in 2010-09-05 14:40:14.000000000 +0200 +++ xkeyboard-config-2.0/rules/evdev.xml.in 2010-11-09 16:45:40.283063002 +0100 @@ -897,6 +897,13 @@ + sanwaskbkg3 + Sanwa Supply SKB-KG3 + Sanwa Supply Inc. + + + + sk1300 <_description>SK-1300 NEC @@ -2951,6 +2958,12 @@ <_description>OADG 109A + + + sanwaskbkg3 + <_description>Sanwa Supply SKB-KG3 + + mac diff -Nrup xkeyboard-config-2.0.orig/symbols/jp xkeyboard-config-2.0/symbols/jp --- xkeyboard-config-2.0.orig/symbols/jp 2010-03-27 02:34:58.000000000 +0100 +++ xkeyboard-config-2.0/symbols/jp 2010-11-09 18:36:05.572534998 +0100 @@ -116,6 +116,31 @@ xkb_symbols "OADG109A" { key { [ yen, bar ] }; }; +// sanwaskbkg3 map +partial alphanumeric_keys +xkb_symbols "sanwaskbkg3" { + + incluce "pc(function)" + incluce "pc(editing)" + incluce "keypad(numoperdecsep)" + incluce "altwin(menu)" + include "jp(kana)" + include "jp(OADG109A)" + name[Group1]= "Japan - Sanwa Supply SKB-KG3"; + + key { [ Escape ] }; + key { [ Num_Lock, Pointer_EnableKeys ] }; + key { [ BackSpace ] }; + key { [ Tab, ISO_Left_Tab ] }; + key { [ Return ] }; + key { [ Shift_L ] }; + key { [ Shift_R ] }; + key { [ Super_L ] }; + key { [ Alt_L ] }; + key { [ space ] }; + key { [ Alt_R ] }; +}; + partial alphanumeric_keys xkb_symbols "kana" { diff -Nrup xkeyboard-config-2.0.orig/symbols/keypad xkeyboard-config-2.0/symbols/keypad --- xkeyboard-config-2.0.orig/symbols/keypad 2010-07-13 01:01:21.000000000 +0200 +++ xkeyboard-config-2.0/symbols/keypad 2010-11-09 18:30:29.392534998 +0100 @@ -579,3 +579,52 @@ xkb_symbols "atm" { key { [ NoSymbol, KP_8 ] }; key { [ NoSymbol, KP_9 ] }; }; + +// Only numbers, operators and decimal separator, +// as seen on keypad overlay on Japanese keyboard. +// ┌─┬─┬─┬─┐ +// │7│8│9│*│ +// ├─┼─┼─┼─┤ +// │4│5│6│-│ +// ├─┼─┼─┼─┤ +// │1│2│3│+│ +// ├─┼─┼─┼─┤ +// │0│ │·│/│ +// └─┴─┴─┴─┘ +partial keypad_keys +xkb_symbols "numoperdecsep" { + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; +// ClsGrb kills whichever client has a grab in effect + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ] + }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; +// -VMode switches to the previous video mode + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ] + }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; +// +VMode switches to the next video mode + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Add, XF86_Next_VMode ] + }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; +// Ungrab cancels server/keyboard/pointer grabs + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Divide, XF86_Ungrab ] + }; +};