diff options
author | Sergey V. Udaltsov <svu@gnome.org> | 2010-11-13 00:22:45 +0000 |
---|---|---|
committer | Sergey V. Udaltsov <svu@gnome.org> | 2010-11-13 00:22:45 +0000 |
commit | 240a40cbd3c2dea858e84868d423b3d826efa2dc (patch) | |
tree | c3587d0f0e34f8259302a0ea8485dbfbae223516 | |
parent | 1bc01a5eaa1180c026ebf8fc75e9bc3cb6876c66 (diff) |
Added sanwa kbd model, jp(kana86) variant
https://bugs.freedesktop.org/show_bug.cgi?id=31340
-rw-r--r-- | geometry/Makefile.am | 2 | ||||
-rw-r--r-- | geometry/sanwa | 151 | ||||
-rw-r--r-- | rules/base.m_g.part | 1 | ||||
-rw-r--r-- | rules/base.xml.in | 13 | ||||
-rw-r--r-- | symbols/jp | 28 | ||||
-rw-r--r-- | symbols/keypad | 48 |
6 files changed, 242 insertions, 1 deletions
diff --git a/geometry/Makefile.am b/geometry/Makefile.am index 84619fb..2a83d16 100644 --- a/geometry/Makefile.am +++ b/geometry/Makefile.am @@ -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 --git a/geometry/sanwa b/geometry/sanwa new file mode 100644 index 0000000..ccb09d6 --- /dev/null +++ b/geometry/sanwa @@ -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 { <ESC>, <FK01>, <FK02>, <FK03>, <FK04>, <FK05>, <FK06>, + <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12>, <PRSC>, + {<NMLK>, color="grey20"}, <PAUS>, {<DELE>, color="grey20"} + }; + }; + overlay "SCLK" { + <NMLK>=<SCLK> + }; + overlay "FN" { + <DELE>=<INS> + }; + }; // End of "Function" section + + section "Alpha" { + top= 24; + row { + top= 2; + keys { <HZTG>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>, + {<AE07>, color="grey20"}, {<AE08>, color="grey20"}, + {<AE09>, color="grey20"}, {<AE10>, color="grey20"}, + <AE11>, <AE12>, <AE13>, { <BKSP>, "TBBK" } + }; + }; + row { + top= 20; + keys { { <TAB>, "TBBK" }, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, + <AD06>, {<AD07>, color="grey20"}, {<AD08>, color="grey20"}, + {<AD09>, color="grey20"}, {<AD10>, color="grey20"}, <AD11>, + <AD12>, { <RTRN>, "RTRN" } + }; + }; + row { + top= 38; + keys { { <CAPS>, "CAPS" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, + <AC06>, {<AC07>, color="grey20"}, {<AC08>, color="grey20"}, + {<AC09>, color="grey20"}, {<AC10>, color="grey20"}, <AC11>, + <AC12> + }; + }; + row { + top= 56; + keys { { <LFSH>, "LFSH" }, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, + <AB06>, {<AB07>, color="grey20"}, <AB08>, + {<AB09>, color="grey20"}, {<AB10>, color="grey20"}, <AB11>, + {<UP>, color="grey20"}, {<RTSH>, key.shape= "CTSH" } + }; + }; + row { + top= 74; + keys { { <LCTL>, key.shape= "CTSH" }, {<FN>, color="grey20"}, + <LWIN>, <LALT>, <NFER>, {<SPCE>, "SPCE" }, <XFER>, <HKTG>, + <RALT>, <MENU>, {<LEFT>, color="grey20"}, + {<DOWN>, color="grey20"}, + {<RGHT>, key.shape= "CTSH", color="grey20"} + }; + }; + overlay "SCLK" { + <AE07>=<KO7>, <AE08>=<KO8>, <AE09>=<KO9>, <AE10>=<KOMU>, + <AD07>=<KO4>, <AD08>=<KO5>, <AD09>=<KO6>, <AD10>=<KOSU>, + <AC07>=<KO1>, <AC08>=<KO2>, <AC09>=<KO3>, <AC10>=<KOAD>, + <AB07>=<KO0>, <AB09>=<KODL>, <AB10>=<KODV> + }; + overlay "FN" { + <UP>=<PGUP>, <LEFT>=<HOME>, <DOWN>=<PGDN>, <RGHT>=<END> + }; + }; // End of "Alpha" section + + alias <AC00> = <CAPS>; + alias <AA00> = <LCTL>; + +}; // End of "default" geometry diff --git a/rules/base.m_g.part b/rules/base.m_g.part index c76a55e..753f2ed 100644 --- a/rules/base.m_g.part +++ b/rules/base.m_g.part @@ -8,6 +8,7 @@ hpmini110 = hp(mini110) hpdv5 = hp(dv5) omnikey101 = northgate(omnikey101) + sanwaskbkg3 = sanwa(sanwaskbkg3) $pcmodels = pc(%m) $pcgeometries = pc(%m) everex = everex(STEPnote) diff --git a/rules/base.xml.in b/rules/base.xml.in index 75f88fc..159af8d 100644 --- a/rules/base.xml.in +++ b/rules/base.xml.in @@ -897,6 +897,13 @@ </model> <model> <configItem> + <name>sanwaskbkg3</name> + <description>Sanwa Supply SKB-KG3</description> + <vendor>Sanwa Supply Inc.</vendor> + </configItem> + </model> + <model> + <configItem> <name>sk1300</name> <_description>SK-1300</_description> <vendor>NEC</vendor> @@ -2954,6 +2961,12 @@ </variant> <variant> <configItem> + <name>kana86</name> + <_description>Kana 86</_description> + </configItem> + </variant> + <variant> + <configItem> <name>OADG109A</name> <_description>OADG 109A</_description> </configItem> @@ -116,6 +116,34 @@ xkb_symbols "OADG109A" { key <AE13> { [ yen, bar ] }; }; +// 86 keys with kana map +partial alphanumeric_keys +xkb_symbols "kana86" { + + include "pc(function)" + include "pc(editing)" + include "keypad(numoperdecsep)" + include "altwin(menu)" + include "jp(kana)" + include "jp(OADG109A)" + name[Group1]= "Japan - Kana 86"; + + key <ESC> { [ Escape ] }; + key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; + key <BKSP> { [ BackSpace ] }; + key <TAB> { [ Tab, ISO_Left_Tab ] }; + key <RTRN> { [ Return ] }; + key <LFSH> { [ Shift_L ] }; + key <RTSH> { [ Shift_R ] }; + key <LWIN> { [ Super_L ] }; + key <LALT> { [ Alt_L ] }; + key <SPCE> { [ space ] }; + key <RALT> { [ Alt_R ] }; +// for compatability with other keyboards connected at the same time + key <RWIN> { [ Super_R ] }; + key <RCTL> { [ Control_R ] }; +}; + partial alphanumeric_keys xkb_symbols "kana" { diff --git a/symbols/keypad b/symbols/keypad index a6aaa14..406d40b 100644 --- a/symbols/keypad +++ b/symbols/keypad @@ -586,3 +586,51 @@ xkb_symbols "pointerkeys" { key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; }; +// 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 <KO7> { [ KP_7 ] }; + key <KO8> { [ KP_8 ] }; + key <KO9> { [ KP_9 ] }; +// ClsGrb kills whichever client has a grab in effect + key <KOMU> { + type="CTRL+ALT", + symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ] + }; + + key <KO4> { [ KP_4 ] }; + key <KO5> { [ KP_5 ] }; + key <KO6> { [ KP_6 ] }; +// -VMode switches to the previous video mode + key <KOSU> { + type="CTRL+ALT", + symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ] + }; + + key <KO1> { [ KP_1 ] }; + key <KO2> { [ KP_2 ] }; + key <KO3> { [ KP_3 ] }; +// +VMode switches to the next video mode + key <KOAD> { + type="CTRL+ALT", + symbols[Group1]= [ KP_Add, XF86_Next_VMode ] + }; + + key <KO0> { [ KP_0 ] }; + key <KODL> { [ KP_Decimal ] }; +// Ungrab cancels server/keyboard/pointer grabs + key <KODV> { + type="CTRL+ALT", + symbols[Group1]= [ KP_Divide, XF86_Ungrab ] + }; +}; |