[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#318413: marked as done (xlibs: Backslash Key is broken on Japanese Keyboards)



Your message dated Fri, 21 Oct 2005 16:42:54 +0900
with message-id <20051021074252.GA9108@verge.net.au>
and subject line Bug#318413: xlibs: Backslash Key is broken on Japanese Keyboards
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 15 Jul 2005 11:58:20 +0000
>From horms@koto.vergenet.net Fri Jul 15 04:58:20 2005
Return-path: <horms@koto.vergenet.net>
Received: from koto.vergenet.net [210.128.90.7] 
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1DtOpf-0005D9-00; Fri, 15 Jul 2005 04:58:19 -0700
Received: by koto.vergenet.net (Postfix, from userid 7100)
	id DFF1D34028; Fri, 15 Jul 2005 20:27:39 +0900 (JST)
Date: Fri, 15 Jul 2005 14:58:32 +0300
From: Horms <horms@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: xlibs: Backslash Key is broken on Japanese Keyboards
Message-ID: <20050715115830.GA6920@verge.net.au>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="LQksG6bCIzRHxTLp"
Content-Disposition: inline
X-Reportbug-Version: 3.15
X-Cluestick: seven
User-Agent: Mutt/1.5.9i
Delivered-To: submit@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-3.4 required=4.0 tests=HAS_PACKAGE,HTML_MESSAGE 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02


--LQksG6bCIzRHxTLp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Package: xlibs
Version: 6.8.2.dfsg.1-2
Severity: important
Tags: patch

Hi,

After upgrading xlibs the backslash no longer works on 
my Toshiba Dynabook with a japanese keyboard. This makes
coding really hard!

The attached patch resolves this problem as well as making the
Hirugana/Katakana toggle work.

-- Package-specific info:
No X.Org X server log files found.

Compiled XKB description for X server ":0.0":
xkb_keymap {
xkb_keycodes "xfree86(jp106)+aliases(qwerty)" {
    minimum = 8;
    maximum = 255;
     <ESC> = 9;
    <AE01> = 10;
    <AE02> = 11;
    <AE03> = 12;
    <AE04> = 13;
    <AE05> = 14;
    <AE06> = 15;
    <AE07> = 16;
    <AE08> = 17;
    <AE09> = 18;
    <AE10> = 19;
    <AE11> = 20;
    <AE12> = 21;
    <BKSP> = 22;
     <TAB> = 23;
    <AD01> = 24;
    <AD02> = 25;
    <AD03> = 26;
    <AD04> = 27;
    <AD05> = 28;
    <AD06> = 29;
    <AD07> = 30;
    <AD08> = 31;
    <AD09> = 32;
    <AD10> = 33;
    <AD11> = 34;
    <AD12> = 35;
    <RTRN> = 36;
    <LCTL> = 37;
    <AC01> = 38;
    <AC02> = 39;
    <AC03> = 40;
    <AC04> = 41;
    <AC05> = 42;
    <AC06> = 43;
    <AC07> = 44;
    <AC08> = 45;
    <AC09> = 46;
    <AC10> = 47;
    <AC11> = 48;
    <TLDE> = 49;
    <LFSH> = 50;
    <AC12> = 51;
    <AB01> = 52;
    <AB02> = 53;
    <AB03> = 54;
    <AB04> = 55;
    <AB05> = 56;
    <AB06> = 57;
    <AB07> = 58;
    <AB08> = 59;
    <AB09> = 60;
    <AB10> = 61;
    <RTSH> = 62;
    <KPMU> = 63;
    <LALT> = 64;
    <SPCE> = 65;
    <CAPS> = 66;
    <FK01> = 67;
    <FK02> = 68;
    <FK03> = 69;
    <FK04> = 70;
    <FK05> = 71;
    <FK06> = 72;
    <FK07> = 73;
    <FK08> = 74;
    <FK09> = 75;
    <FK10> = 76;
    <NMLK> = 77;
    <SCLK> = 78;
     <KP7> = 79;
     <KP8> = 80;
     <KP9> = 81;
    <KPSU> = 82;
     <KP4> = 83;
     <KP5> = 84;
     <KP6> = 85;
    <KPAD> = 86;
     <KP1> = 87;
     <KP2> = 88;
     <KP3> = 89;
     <KP0> = 90;
    <KPDL> = 91;
    <SYRQ> = 92;
    <MDSW> = 93;
    <FK11> = 95;
    <FK12> = 96;
    <HOME> = 97;
      <UP> = 98;
    <PGUP> = 99;
    <LEFT> = 100;
    <RGHT> = 102;
     <END> = 103;
    <DOWN> = 104;
    <PGDN> = 105;
     <INS> = 106;
    <DELE> = 107;
    <KPEN> = 108;
    <RCTL> = 109;
    <PAUS> = 110;
    <PRSC> = 111;
    <KPDV> = 112;
    <RALT> = 113;
     <BRK> = 114;
    <LWIN> = 115;
    <RWIN> = 116;
    <MENU> = 117;
    <FK13> = 118;
    <FK14> = 119;
    <HKTG> = 120;
    <FK16> = 121;
    <FK17> = 122;
    <KPDC> = 123;
    <LVL3> = 124;
     <ALT> = 125;
    <KPEQ> = 126;
    <SUPR> = 127;
    <HYPR> = 128;
    <XFER> = 129;
     <I02> = 130;
    <NFER> = 131;
     <I04> = 132;
    <AE13> = 133;
     <I06> = 134;
     <I07> = 135;
     <I08> = 136;
     <I09> = 137;
     <I0A> = 138;
     <I0B> = 139;
     <I0C> = 140;
     <I0D> = 141;
     <I0E> = 142;
     <I0F> = 143;
     <I10> = 144;
     <I11> = 145;
     <I12> = 146;
     <I13> = 147;
     <I14> = 148;
     <I15> = 149;
     <I16> = 150;
     <I17> = 151;
     <I18> = 152;
     <I19> = 153;
     <I1A> = 154;
     <I1B> = 155;
    <META> = 156;
     <K59> = 157;
     <I1E> = 158;
     <I1F> = 159;
     <I20> = 160;
     <I21> = 161;
     <I22> = 162;
     <I23> = 163;
     <I24> = 164;
     <I25> = 165;
     <I26> = 166;
     <I27> = 167;
     <I28> = 168;
     <I29> = 169;
     <K5A> = 170;
     <I2B> = 171;
     <I2C> = 172;
     <I2D> = 173;
     <I2E> = 174;
     <I2F> = 175;
     <I30> = 176;
     <I31> = 177;
     <I32> = 178;
     <I33> = 179;
     <I34> = 180;
     <K5B> = 181;
     <K5D> = 182;
     <K5E> = 183;
     <K5F> = 184;
     <I39> = 185;
     <I3A> = 186;
     <I3B> = 187;
     <I3C> = 188;
     <K62> = 189;
     <K63> = 190;
     <K64> = 191;
     <K65> = 192;
     <K66> = 193;
     <I42> = 194;
     <I43> = 195;
     <I44> = 196;
     <I45> = 197;
     <K67> = 198;
     <K68> = 199;
     <K69> = 200;
     <K6A> = 201;
     <I4A> = 202;
     <K6B> = 203;
     <K6C> = 204;
     <K6D> = 205;
     <K6E> = 206;
     <K6F> = 207;
     <K71> = 209;
     <K72> = 210;
     <I54> = 212;
     <I55> = 213;
     <I56> = 214;
     <I57> = 215;
     <I58> = 216;
     <I59> = 217;
     <I5A> = 218;
     <K74> = 219;
     <K75> = 220;
     <K76> = 221;
     <I5E> = 222;
     <I5F> = 223;
     <I60> = 224;
     <I61> = 225;
     <I62> = 226;
     <I63> = 227;
     <I64> = 228;
     <I65> = 229;
     <I66> = 230;
     <I67> = 231;
     <I68> = 232;
     <I69> = 233;
     <I6A> = 234;
     <I6B> = 235;
     <I6C> = 236;
     <I6D> = 237;
     <I6E> = 238;
     <I6F> = 239;
     <I70> = 240;
     <I71> = 241;
     <I72> = 242;
     <I73> = 243;
     <I74> = 244;
     <I75> = 245;
     <I76> = 246;
     <I77> = 247;
     <I78> = 248;
     <I79> = 249;
     <I7A> = 250;
     <I7B> = 251;
     <I7C> = 252;
     <I7D> = 253;
     <I7E> = 254;
     <I7F> = 255;
    indicator 1 = "Caps Lock";
    indicator 2 = "Num Lock";
    indicator 3 = "Scroll Lock";
    virtual indicator 4 = "Shift Lock";
    virtual indicator 5 = "Group 2";
    virtual indicator 6 = "Mouse Keys";
    alias <HZTG> = <TLDE>;
    alias <AB11> = <KPDC>;
    alias <HNGL> = <FK16>;
    alias <HJCV> = <FK17>;
    alias  <I01> = <XFER>;
    alias  <I03> = <NFER>;
    alias  <I05> = <AE13>;
    alias  <K5C> = <KPEQ>;
    alias  <K70> = <HKTG>;
    alias <LMTA> = <LWIN>;
    alias <RMTA> = <RWIN>;
    alias <COMP> = <MENU>;
    alias <POWR> =  <I0C>;
    alias <MUTE> =  <I0D>;
    alias <VOL-> =  <I0E>;
    alias <VOL+> =  <I0F>;
    alias <HELP> =  <I10>;
    alias <STOP> =  <I11>;
    alias <AGAI> =  <I12>;
    alias <PROP> =  <I13>;
    alias <UNDO> =  <I14>;
    alias <FRNT> =  <I15>;
    alias <COPY> =  <I16>;
    alias <OPEN> =  <I17>;
    alias <PAST> =  <I18>;
    alias <FIND> =  <I19>;
    alias  <CUT> =  <I1A>;
    alias <ALGR> = <RALT>;
    alias <LatQ> = <AD01>;
    alias <LatW> = <AD02>;
    alias <LatE> = <AD03>;
    alias <LatR> = <AD04>;
    alias <LatT> = <AD05>;
    alias <LatY> = <AD06>;
    alias <LatU> = <AD07>;
    alias <LatI> = <AD08>;
    alias <LatO> = <AD09>;
    alias <LatP> = <AD10>;
    alias <LatA> = <AC01>;
    alias <LatS> = <AC02>;
    alias <LatD> = <AC03>;
    alias <LatF> = <AC04>;
    alias <LatG> = <AC05>;
    alias <LatH> = <AC06>;
    alias <LatJ> = <AC07>;
    alias <LatK> = <AC08>;
    alias <LatL> = <AC09>;
    alias <LatZ> = <AB01>;
    alias <LatX> = <AB02>;
    alias <LatC> = <AB03>;
    alias <LatV> = <AB04>;
    alias <LatB> = <AB05>;
    alias <LatN> = <AB06>;
    alias <LatM> = <AB07>;
};

xkb_types "complete" {

    virtual_modifiers NumLock,Alt,LevelThree,AltGr,Meta,Super,Hyper,ScrollLock;

    type "ONE_LEVEL" {
        modifiers= none;
        level_name[Level1]= "Any";
    };
    type "TWO_LEVEL" {
        modifiers= Shift;
        map[Shift]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
    };
    type "ALPHABETIC" {
        modifiers= Shift+Lock;
        map[Shift]= Level2;
        map[Lock]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Caps";
    };
    type "KEYPAD" {
        modifiers= Shift+NumLock;
        map[Shift]= Level2;
        map[NumLock]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Number";
    };
    type "SHIFT+ALT" {
        modifiers= Shift+Alt;
        map[Shift+Alt]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift+Alt";
    };
    type "PC_BREAK" {
        modifiers= Control;
        map[Control]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Control";
    };
    type "PC_SYSRQ" {
        modifiers= Alt;
        map[Alt]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Alt";
    };
    type "CTRL+ALT" {
        modifiers= Control+Alt;
        map[Control+Alt]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Ctrl+Alt";
    };
    type "THREE_LEVEL" {
        modifiers= Shift+LevelThree;
        map[Shift]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Level3";
    };
    type "FOUR_LEVEL" {
        modifiers= Shift+LevelThree;
        map[Shift]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };
    type "FOUR_LEVEL_ALPHABETIC" {
        modifiers= Shift+Lock+LevelThree;
        map[Shift]= Level2;
        map[Lock]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[Lock+LevelThree]= Level4;
        map[Shift+Lock+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };
    type "FOUR_LEVEL_SEMIALPHABETIC" {
        modifiers= Shift+Lock+LevelThree;
        map[Shift]= Level2;
        map[Lock]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[Lock+LevelThree]= Level3;
        preserve[Lock+LevelThree]= Lock;
        map[Shift+Lock+LevelThree]= Level4;
        preserve[Shift+Lock+LevelThree]= Lock;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };
    type "FOUR_LEVEL_KEYPAD" {
        modifiers= Shift+NumLock+LevelThree;
        map[Shift]= Level2;
        map[NumLock]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[NumLock+LevelThree]= Level4;
        map[Shift+NumLock+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Number";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Alt Number";
    };
    type "SERBIAN_CAPS" {
        modifiers= Shift+Lock+LevelThree;
        map[Shift]= Level2;
        map[Lock]= Level4;
        preserve[Lock]= Lock;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[Lock+LevelThree]= Level3;
        preserve[Lock+LevelThree]= Lock;
        map[Shift+Lock+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "AltGr Base";
        level_name[Level4]= "Shift AltGr";
    };
};

xkb_compatibility "complete" {

    virtual_modifiers NumLock,Alt,LevelThree,AltGr,Meta,Super,Hyper,ScrollLock;

    interpret.useModMapMods= AnyLevel;
    interpret.repeat= False;
    interpret.locking= False;
    interpret ISO_Level2_Latch+Exactly(Shift) {
        useModMapMods=level1;
        action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
    };
    interpret Shift_Lock+AnyOf(Shift+Lock) {
        action= LockMods(modifiers=Shift);
    };
    interpret Num_Lock+AnyOf(all) {
        virtualModifier= NumLock;
        action= LockMods(modifiers=NumLock);
    };
    interpret ISO_Lock+AnyOf(all) {
        action= ISOLock(modifiers=modMapMods,affect=all);
    };
    interpret ISO_Level3_Shift+AnyOf(all) {
        virtualModifier= LevelThree;
        useModMapMods=level1;
        action= SetMods(modifiers=LevelThree,clearLocks);
    };
    interpret ISO_Level3_Latch+AnyOf(all) {
        virtualModifier= LevelThree;
        useModMapMods=level1;
        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
    };
    interpret ISO_Level3_Lock+AnyOf(all) {
        virtualModifier= LevelThree;
        useModMapMods=level1;
        action= LockMods(modifiers=LevelThree);
    };
    interpret Alt_L+AnyOf(all) {
        virtualModifier= Alt;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Alt_R+AnyOf(all) {
        virtualModifier= Alt;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Meta_L+AnyOf(all) {
        virtualModifier= Meta;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Meta_R+AnyOf(all) {
        virtualModifier= Meta;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Super_L+AnyOf(all) {
        virtualModifier= Super;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Super_R+AnyOf(all) {
        virtualModifier= Super;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Hyper_L+AnyOf(all) {
        virtualModifier= Hyper;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Hyper_R+AnyOf(all) {
        virtualModifier= Hyper;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Scroll_Lock+AnyOf(all) {
        virtualModifier= ScrollLock;
        action= LockMods(modifiers=modMapMods);
    };
    interpret Mode_switch+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= SetGroup(group=+1);
    };
    interpret ISO_Level3_Shift+AnyOfOrNone(all) {
        action= SetMods(modifiers=LevelThree,clearLocks);
    };
    interpret ISO_Level3_Latch+AnyOfOrNone(all) {
        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
    };
    interpret ISO_Level3_Lock+AnyOfOrNone(all) {
        action= LockMods(modifiers=LevelThree);
    };
    interpret ISO_Group_Latch+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= LatchGroup(group=2);
    };
    interpret ISO_Next_Group+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= LockGroup(group=+1);
    };
    interpret ISO_Prev_Group+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= LockGroup(group=-1);
    };
    interpret ISO_First_Group+AnyOfOrNone(all) {
        action= LockGroup(group=1);
    };
    interpret ISO_Last_Group+AnyOfOrNone(all) {
        action= LockGroup(group=2);
    };
    interpret KP_1+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+1);
    };
    interpret KP_End+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+1);
    };
    interpret KP_2+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=+1);
    };
    interpret KP_Down+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=+1);
    };
    interpret KP_3+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+1);
    };
    interpret KP_Next+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+1);
    };
    interpret KP_4+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+0);
    };
    interpret KP_Left+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+0);
    };
    interpret KP_6+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+0);
    };
    interpret KP_Right+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+0);
    };
    interpret KP_7+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=-1);
    };
    interpret KP_Home+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=-1);
    };
    interpret KP_8+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=-1);
    };
    interpret KP_Up+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=-1);
    };
    interpret KP_9+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=-1);
    };
    interpret KP_Prior+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=-1);
    };
    interpret KP_5+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default);
    };
    interpret KP_Begin+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default);
    };
    interpret KP_F2+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=1);
    };
    interpret KP_Divide+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=1);
    };
    interpret KP_F3+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=2);
    };
    interpret KP_Multiply+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=2);
    };
    interpret KP_F4+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=3);
    };
    interpret KP_Subtract+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=3);
    };
    interpret KP_Separator+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default,count=2);
    };
    interpret KP_Add+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default,count=2);
    };
    interpret KP_0+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=lock);
    };
    interpret KP_Insert+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=lock);
    };
    interpret KP_Decimal+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=unlock);
    };
    interpret KP_Delete+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=unlock);
    };
    interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
        action= PtrBtn(button=default);
    };
    interpret Pointer_Button1+AnyOfOrNone(all) {
        action= PtrBtn(button=1);
    };
    interpret Pointer_Button2+AnyOfOrNone(all) {
        action= PtrBtn(button=2);
    };
    interpret Pointer_Button3+AnyOfOrNone(all) {
        action= PtrBtn(button=3);
    };
    interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
        action= PtrBtn(button=default,count=2);
    };
    interpret Pointer_DblClick1+AnyOfOrNone(all) {
        action= PtrBtn(button=1,count=2);
    };
    interpret Pointer_DblClick2+AnyOfOrNone(all) {
        action= PtrBtn(button=2,count=2);
    };
    interpret Pointer_DblClick3+AnyOfOrNone(all) {
        action= PtrBtn(button=3,count=2);
    };
    interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
        action= LockPtrBtn(button=default,affect=both);
    };
    interpret Pointer_Drag1+AnyOfOrNone(all) {
        action= LockPtrBtn(button=1,affect=both);
    };
    interpret Pointer_Drag2+AnyOfOrNone(all) {
        action= LockPtrBtn(button=2,affect=both);
    };
    interpret Pointer_Drag3+AnyOfOrNone(all) {
        action= LockPtrBtn(button=3,affect=both);
    };
    interpret Pointer_EnableKeys+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeys);
    };
    interpret Pointer_Accelerate+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeysAccel);
    };
    interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
        action= SetPtrDflt(affect=button,button=+1);
    };
    interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
        action= SetPtrDflt(affect=button,button=-1);
    };
    interpret AccessX_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=AccessXKeys);
    };
    interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=AccessXFeedback);
    };
    interpret RepeatKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=RepeatKeys);
    };
    interpret SlowKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=SlowKeys);
    };
    interpret BounceKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=BounceKeys);
    };
    interpret StickyKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=StickyKeys);
    };
    interpret MouseKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeys);
    };
    interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeysAccel);
    };
    interpret Overlay1_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=Overlay1);
    };
    interpret Overlay2_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=Overlay2);
    };
    interpret AudibleBell_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=AudibleBell);
    };
    interpret Terminate_Server+AnyOfOrNone(all) {
        action= Terminate();
    };
    interpret Alt_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Alt,clearLocks);
    };
    interpret Alt_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Alt,clearLocks);
    };
    interpret Meta_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Meta,clearLocks);
    };
    interpret Meta_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Alt,clearLocks);
    };
    interpret Super_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Super,clearLocks);
    };
    interpret Super_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Super,clearLocks);
    };
    interpret Hyper_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Hyper,clearLocks);
    };
    interpret Hyper_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Hyper,clearLocks);
    };
    interpret XF86_Switch_VT_1+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=1,!same);
    };
    interpret XF86_Switch_VT_2+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=2,!same);
    };
    interpret XF86_Switch_VT_3+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=3,!same);
    };
    interpret XF86_Switch_VT_4+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=4,!same);
    };
    interpret XF86_Switch_VT_5+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=5,!same);
    };
    interpret XF86_Switch_VT_6+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=6,!same);
    };
    interpret XF86_Switch_VT_7+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=7,!same);
    };
    interpret XF86_Switch_VT_8+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=8,!same);
    };
    interpret XF86_Switch_VT_9+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=9,!same);
    };
    interpret XF86_Switch_VT_10+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=10,!same);
    };
    interpret XF86_Switch_VT_11+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=11,!same);
    };
    interpret XF86_Switch_VT_12+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=12,!same);
    };
    interpret XF86_Ungrab+AnyOfOrNone(all) {
        repeat= True;
        action= Private(type=0x86,data[0]=0x55,data[1]=0x6e,data[2]=0x67,data[3]=0x72,data[4]=0x61,data[5]=0x62,data[6]=0x00);
    };
    interpret XF86_ClearGrab+AnyOfOrNone(all) {
        repeat= True;
        action= Private(type=0x86,data[0]=0x43,data[1]=0x6c,data[2]=0x73,data[3]=0x47,data[4]=0x72,data[5]=0x62,data[6]=0x00);
    };
    interpret XF86_Next_VMode+AnyOfOrNone(all) {
        repeat= True;
        action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
    };
    interpret XF86_Prev_VMode+AnyOfOrNone(all) {
        repeat= True;
        action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
    };
    interpret Any+Exactly(Lock) {
        action= LockMods(modifiers=Lock);
    };
    interpret Any+AnyOf(all) {
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    group 2 = AltGr;
    group 3 = AltGr;
    group 4 = AltGr;
    indicator "Caps Lock" {
        !allowExplicit;
        whichModState= locked;
        modifiers= Lock;
    };
    indicator "Num Lock" {
        !allowExplicit;
        whichModState= locked;
        modifiers= NumLock;
    };
    indicator "Scroll Lock" {
        whichModState= locked;
        modifiers= ScrollLock;
    };
    indicator "Shift Lock" {
        !allowExplicit;
        whichModState= locked;
        modifiers= Shift;
    };
    indicator "Group 2" {
        !allowExplicit;
        groups= 0xfe;
    };
    indicator "Mouse Keys" {
        indicatorDrivesKeyboard;
        controls= mouseKeys;
    };
};

xkb_symbols "pc/pc(pc102)+pc/jp(latin)+pc/jp:2" {

    name[group1]="US/ASCII";
    name[group2]="Japanese";

    key  <ESC> {         [          Escape ] };
    key <AE01> {
        symbols[Group1]= [               1,          exclam ],
        symbols[Group2]= [         kana_NU ]
    };
    key <AE02> {
        symbols[Group1]= [               2,        quotedbl ],
        symbols[Group2]= [         kana_FU ]
    };
    key <AE03> {
        symbols[Group1]= [               3,      numbersign ],
        symbols[Group2]= [          kana_A,          kana_a ]
    };
    key <AE04> {
        symbols[Group1]= [               4,          dollar ],
        symbols[Group2]= [          kana_U,          kana_u ]
    };
    key <AE05> {
        symbols[Group1]= [               5,         percent ],
        symbols[Group2]= [          kana_E,          kana_e ]
    };
    key <AE06> {
        symbols[Group1]= [               6,       ampersand ],
        symbols[Group2]= [          kana_O,          kana_o ]
    };
    key <AE07> {
        symbols[Group1]= [               7,      apostrophe ],
        symbols[Group2]= [         kana_YA,         kana_ya ]
    };
    key <AE08> {
        symbols[Group1]= [               8,       parenleft ],
        symbols[Group2]= [         kana_YU,         kana_yu ]
    };
    key <AE09> {
        symbols[Group1]= [               9,      parenright ],
        symbols[Group2]= [         kana_YO,         kana_yo ]
    };
    key <AE10> {
        symbols[Group1]= [               0,      asciitilde ],
        symbols[Group2]= [         kana_WA,         kana_WO ]
    };
    key <AE11> {
        symbols[Group1]= [           minus,           equal ],
        symbols[Group2]= [         kana_HO ]
    };
    key <AE12> {
        symbols[Group1]= [     asciicircum,      asciitilde ],
        symbols[Group2]= [         kana_HE ]
    };
    key <BKSP> {
        type= "CTRL+ALT",
        symbols[Group1]= [       BackSpace, Terminate_Server ]
    };
    key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
    key <AD01> {
        symbols[Group1]= [               q,               Q ],
        symbols[Group2]= [         kana_TA ]
    };
    key <AD02> {
        symbols[Group1]= [               w,               W ],
        symbols[Group2]= [         kana_TE ]
    };
    key <AD03> {
        symbols[Group1]= [               e,               E ],
        symbols[Group2]= [          kana_I,          kana_i ]
    };
    key <AD04> {
        symbols[Group1]= [               r,               R ],
        symbols[Group2]= [         kana_SU ]
    };
    key <AD05> {
        symbols[Group1]= [               t,               T ],
        symbols[Group2]= [         kana_KA ]
    };
    key <AD06> {
        symbols[Group1]= [               y,               Y ],
        symbols[Group2]= [          kana_N ]
    };
    key <AD07> {
        symbols[Group1]= [               u,               U ],
        symbols[Group2]= [         kana_NA ]
    };
    key <AD08> {
        symbols[Group1]= [               i,               I ],
        symbols[Group2]= [         kana_NI ]
    };
    key <AD09> {
        symbols[Group1]= [               o,               O ],
        symbols[Group2]= [         kana_RA ]
    };
    key <AD10> {
        symbols[Group1]= [               p,               P ],
        symbols[Group2]= [         kana_SE ]
    };
    key <AD11> {
        symbols[Group1]= [              at,           grave ],
        symbols[Group2]= [     voicedsound ]
    };
    key <AD12> {
        symbols[Group1]= [     bracketleft,       braceleft ],
        symbols[Group2]= [ semivoicedsound, kana_openingbracket ]
    };
    key <RTRN> {         [          Return ] };
    key <LCTL> {         [       Control_L ] };
    key <AC01> {
        symbols[Group1]= [               a,               A ],
        symbols[Group2]= [        kana_CHI ]
    };
    key <AC02> {
        symbols[Group1]= [               s,               S ],
        symbols[Group2]= [         kana_TO ]
    };
    key <AC03> {
        symbols[Group1]= [               d,               D ],
        symbols[Group2]= [        kana_SHI ]
    };
    key <AC04> {
        symbols[Group1]= [               f,               F ],
        symbols[Group2]= [         kana_HA ]
    };
    key <AC05> {
        symbols[Group1]= [               g,               G ],
        symbols[Group2]= [         kana_KI ]
    };
    key <AC06> {
        symbols[Group1]= [               h,               H ],
        symbols[Group2]= [         kana_KU ]
    };
    key <AC07> {
        symbols[Group1]= [               j,               J ],
        symbols[Group2]= [         kana_MA ]
    };
    key <AC08> {
        symbols[Group1]= [               k,               K ],
        symbols[Group2]= [         kana_NO ]
    };
    key <AC09> {
        symbols[Group1]= [               l,               L ],
        symbols[Group2]= [         kana_RI ]
    };
    key <AC10> {
        symbols[Group1]= [       semicolon,            plus ],
        symbols[Group2]= [         kana_RE ]
    };
    key <AC11> {
        symbols[Group1]= [           colon,        asterisk ],
        symbols[Group2]= [         kana_KE ]
    };
    key <TLDE> {
        type= "PC_SYSRQ",
        symbols[Group1]= [ Zenkaku_Hankaku,           Kanji ]
    };
    key <LFSH> {         [         Shift_L ] };
    key <AC12> {
        symbols[Group1]= [    bracketright,      braceright ],
        symbols[Group2]= [         kana_MU, kana_closingbracket ]
    };
    key <AB01> {
        symbols[Group1]= [               z,               Z ],
        symbols[Group2]= [        kana_TSU,        kana_tsu ]
    };
    key <AB02> {
        symbols[Group1]= [               x,               X ],
        symbols[Group2]= [         kana_SA ]
    };
    key <AB03> {
        symbols[Group1]= [               c,               C ],
        symbols[Group2]= [         kana_SO ]
    };
    key <AB04> {
        symbols[Group1]= [               v,               V ],
        symbols[Group2]= [         kana_HI ]
    };
    key <AB05> {
        symbols[Group1]= [               b,               B ],
        symbols[Group2]= [         kana_KO ]
    };
    key <AB06> {
        symbols[Group1]= [               n,               N ],
        symbols[Group2]= [         kana_MI ]
    };
    key <AB07> {
        symbols[Group1]= [               m,               M ],
        symbols[Group2]= [         kana_MO ]
    };
    key <AB08> {
        symbols[Group1]= [           comma,            less ],
        symbols[Group2]= [         kana_NE,      kana_comma ]
    };
    key <AB09> {
        symbols[Group1]= [          period,         greater ],
        symbols[Group2]= [         kana_RU,   kana_fullstop ]
    };
    key <AB10> {
        symbols[Group1]= [           slash,        question ],
        symbols[Group2]= [         kana_ME, kana_conjunctive ]
    };
    key <RTSH> {         [         Shift_R ] };
    key <KPMU> {
        type= "CTRL+ALT",
        symbols[Group1]= [     KP_Multiply,  XF86_ClearGrab ]
    };
    key <LALT> {         [           Alt_L,          Meta_L ] };
    key <SPCE> {         [           space ] };
    key <CAPS> {         [     Eisu_toggle,       Caps_Lock ] };
    key <FK01> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F1, XF86_Switch_VT_1 ]
    };
    key <FK02> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F2, XF86_Switch_VT_2 ]
    };
    key <FK03> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F3, XF86_Switch_VT_3 ]
    };
    key <FK04> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F4, XF86_Switch_VT_4 ]
    };
    key <FK05> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F5, XF86_Switch_VT_5 ]
    };
    key <FK06> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F6, XF86_Switch_VT_6 ]
    };
    key <FK07> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F7, XF86_Switch_VT_7 ]
    };
    key <FK08> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F8, XF86_Switch_VT_8 ]
    };
    key <FK09> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F9, XF86_Switch_VT_9 ]
    };
    key <FK10> {
        type= "CTRL+ALT",
        symbols[Group1]= [             F10, XF86_Switch_VT_10 ]
    };
    key <NMLK> {         [        Num_Lock, Pointer_EnableKeys ] };
    key <SCLK> {         [     Scroll_Lock ] };
    key  <KP7> {         [         KP_Home,            KP_7 ] };
    key  <KP8> {         [           KP_Up,            KP_8 ] };
    key  <KP9> {         [        KP_Prior,            KP_9 ] };
    key <KPSU> {
        type= "CTRL+ALT",
        symbols[Group1]= [     KP_Subtract, XF86_Prev_VMode ]
    };
    key  <KP4> {         [         KP_Left,            KP_4 ] };
    key  <KP5> {         [        KP_Begin,            KP_5 ] };
    key  <KP6> {         [        KP_Right,            KP_6 ] };
    key <KPAD> {
        type= "CTRL+ALT",
        symbols[Group1]= [          KP_Add, XF86_Next_VMode ]
    };
    key  <KP1> {         [          KP_End,            KP_1 ] };
    key  <KP2> {         [         KP_Down,            KP_2 ] };
    key  <KP3> {         [         KP_Next,            KP_3 ] };
    key  <KP0> {         [       KP_Insert,            KP_0 ] };
    key <KPDL> {         [       KP_Delete,      KP_Decimal ] };
    key <SYRQ> {
        type= "PC_SYSRQ",
        symbols[Group1]= [           Print,         Execute ]
    };
    key <MDSW> {         [     Mode_switch ] };
    key <FK11> {
        type= "CTRL+ALT",
        symbols[Group1]= [             F11, XF86_Switch_VT_11 ]
    };
    key <FK12> {
        type= "CTRL+ALT",
        symbols[Group1]= [             F12, XF86_Switch_VT_12 ]
    };
    key <HOME> {         [            Home ] };
    key   <UP> {         [              Up ] };
    key <PGUP> {         [           Prior ] };
    key <LEFT> {         [            Left ] };
    key <RGHT> {         [           Right ] };
    key  <END> {         [             End ] };
    key <DOWN> {         [            Down ] };
    key <PGDN> {         [            Next ] };
    key  <INS> {         [          Insert ] };
    key <DELE> {         [          Delete ] };
    key <KPEN> {         [        KP_Enter ] };
    key <RCTL> {         [       Control_R ] };
    key <PAUS> {
        type= "PC_BREAK",
        symbols[Group1]= [           Pause,           Break ]
    };
    key <PRSC> {
        type= "PC_SYSRQ",
        symbols[Group1]= [           Print,         Execute ]
    };
    key <KPDV> {
        type= "CTRL+ALT",
        symbols[Group1]= [       KP_Divide,     XF86_Ungrab ]
    };
    key <RALT> {         [           Alt_R,          Meta_R ] };
    key <LWIN> {         [         Super_L ] };
    key <RWIN> {         [         Super_R ] };
    key <MENU> {         [            Menu ] };
    key <HKTG> {
        type= "PC_SYSRQ",
        symbols[Group1]= [ Hiragana_Katakana,          Romaji ]
    };
    key <KPDC> {
        symbols[Group1]= [       backslash,      underscore ],
        symbols[Group2]= [         kana_RO ]
    };
    key <LVL3> {         [ ISO_Level3_Shift ] };
    key  <ALT> {         [        NoSymbol,           Alt_L ] };
    key <KPEQ> {         [        KP_Equal ] };
    key <SUPR> {         [        NoSymbol,         Super_L ] };
    key <HYPR> {         [        NoSymbol,         Hyper_L ] };
    key <XFER> {
        type= "PC_SYSRQ",
        symbols[Group1]= [     Henkan_Mode,     Mode_switch ]
    };
    key <NFER> {         [        Muhenkan ] };
    key <AE13> {
        symbols[Group1]= [       backslash,             bar ],
        symbols[Group2]= [  prolongedsound ]
    };
    key <META> {         [        NoSymbol,          Meta_L ] };
    modifier_map Control { <LCTL> };
    modifier_map Shift { <LFSH> };
    modifier_map Shift { <RTSH> };
    modifier_map Mod1 { <LALT> };
    modifier_map Lock { <CAPS> };
    modifier_map Mod2 { <NMLK> };
    modifier_map Mod5 { <MDSW> };
    modifier_map Control { <RCTL> };
    modifier_map Mod5 { <LVL3> };
    modifier_map Mod1 { <ALT> };
    modifier_map Mod4 { <SUPR> };
    modifier_map Mod4 { <HYPR> };
    modifier_map Mod1 { <META> };
};

xkb_geometry "pc(jp106)" {

    width=       470;
    height=      180;

    alias <AC00> = <CAPS>;
    alias <AA00> = <LCTL>;

    baseColor=   "white";
    labelColor=  "black";
    xfont=       "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
    description= "Japanese 106";

    shape "NORM" {
        corner= 1,
        { [  18,  18 ] },
        { [   2,   1 ], [  16,  17 ] }
    };
    shape "BKSP" {
        corner= 1,
        { [  18,  18 ] },
        { [   2,   1 ], [  16,  17 ] }
    };
    shape "TABK" {
        corner= 1,
        { [  28,  18 ] },
        { [   2,   1 ], [  26,  17 ] }
    };
    shape "BKSL" {
        corner= 1,
        { [  27,  18 ] },
        { [   2,   1 ], [  25,  17 ] }
    };
    shape "RTRN" {
        corner= 1,
        { [   0,   0 ], [  27,   0 ], [  27,  37 ], [   4,  37 ],
          [   4,  18 ], [   0,  18 ] },
        { [   2,   1 ], [  25,   1 ], [  25,  36 ], [   5,  36 ],
          [   5,  17 ], [   2,  17 ] }
    };
    shape "CAPS" {
        corner= 1,
        { [  32,  18 ] },
        { [   2,   1 ], [  30,  17 ] }
    };
    shape "LFSH" {
        corner= 1,
        { [  42,  18 ] },
        { [   2,   1 ], [  40,  17 ] }
    };
    shape "RTSH" {
        corner= 1,
        { [  32,  18 ] },
        { [   2,   1 ], [  30,  17 ] }
    };
    shape "MODK" {
        corner= 1,
        { [  28,  18 ] },
        { [   2,   1 ], [  26,  17 ] }
    };
    shape "SPCE" {
        corner= 1,
        { [  46,  18 ] },
        { [   2,   1 ], [  44,  17 ] }
    };
    shape "KP0" {
        corner= 1,
        { [  37,  18 ] },
        { [   2,   1 ], [  35,  17 ] }
    };
    shape "KPAD" {
        corner= 1,
        { [  18,  37 ] },
        { [   2,   1 ], [  16,  36 ] }
    };
    shape "LEDS" { { [  76,  20 ] } };
    shape "LED" { { [   5,   1 ] } };
    section "Function" {
        key.color= "grey20";
        priority=  7;
        top=       25;
        left=      19;
        width=     349;
        height=    19;
        row {
            top=  1;
            left= 1;
            keys {
                {  <ESC>, "NORM",   1 },
                { <FK01>, "NORM",  18, color="white" },
                { <FK02>, "NORM",   1, color="white" },
                { <FK03>, "NORM",   1, color="white" },
                { <FK04>, "NORM",   1, color="white" },
                { <FK05>, "NORM",  11 }, { <FK06>, "NORM",   1 },
                { <FK07>, "NORM",   1 }, { <FK08>, "NORM",   1 },
                { <FK09>, "NORM",  11, color="white" },
                { <FK10>, "NORM",   1, color="white" },
                { <FK11>, "NORM",   1, color="white" },
                { <FK12>, "NORM",   1, color="white" },
                { <PRSC>, "NORM",   8, color="white" },
                { <SCLK>, "NORM",   1, color="white" },
                { <PAUS>, "NORM",   1, color="white" }
            };
        };
    }; // End of "Function" section

    section "Alpha" {
        key.color= "grey20";
        priority=  8;
        top=       61;
        left=      19;
        width=     286;
        height=    95;
        row {
            top=  1;
            left= 1;
            keys {
                { <HZTG>, "NORM",   1 },
                { <AE01>, "NORM",   1, color="white" },
                { <AE02>, "NORM",   1, color="white" },
                { <AE03>, "NORM",   1, color="white" },
                { <AE04>, "NORM",   1, color="white" },
                { <AE05>, "NORM",   1, color="white" },
                { <AE06>, "NORM",   1, color="white" },
                { <AE07>, "NORM",   1, color="white" },
                { <AE08>, "NORM",   1, color="white" },
                { <AE09>, "NORM",   1, color="white" },
                { <AE10>, "NORM",   1, color="white" },
                { <AE11>, "NORM",   1, color="white" },
                { <AE12>, "NORM",   1, color="white" },
                { <AE13>, "NORM",   1, color="white" },
                { <BKSP>, "BKSP",   1 }
            };
        };
        row {
            top=  20;
            left= 1;
            keys {
                {  <TAB>, "TABK",   1 },
                { <AD01>, "NORM",   1, color="white" },
                { <AD02>, "NORM",   1, color="white" },
                { <AD03>, "NORM",   1, color="white" },
                { <AD04>, "NORM",   1, color="white" },
                { <AD05>, "NORM",   1, color="white" },
                { <AD06>, "NORM",   1, color="white" },
                { <AD07>, "NORM",   1, color="white" },
                { <AD08>, "NORM",   1, color="white" },
                { <AD09>, "NORM",   1, color="white" },
                { <AD10>, "NORM",   1, color="white" },
                { <AD11>, "NORM",   1, color="white" },
                { <AD12>, "NORM",   1, color="white" },
                { <RTRN>, "RTRN",   1 }
            };
        };
        row {
            top=  39;
            left= 1;
            keys {
                { <CAPS>, "CAPS",   1 },
                { <AC01>, "NORM",   1, color="white" },
                { <AC02>, "NORM",   1, color="white" },
                { <AC03>, "NORM",   1, color="white" },
                { <AC04>, "NORM",   1, color="white" },
                { <AC05>, "NORM",   1, color="white" },
                { <AC06>, "NORM",   1, color="white" },
                { <AC07>, "NORM",   1, color="white" },
                { <AC08>, "NORM",   1, color="white" },
                { <AC09>, "NORM",   1, color="white" },
                { <AC10>, "NORM",   1, color="white" },
                { <AC11>, "NORM",   1, color="white" },
                { <AC12>, "NORM",   1, color="white" }
            };
        };
        row {
            top=  58;
            left= 1;
            keys {
                { <LFSH>, "LFSH",   1 },
                { <AB01>, "NORM",   1, color="white" },
                { <AB02>, "NORM",   1, color="white" },
                { <AB03>, "NORM",   1, color="white" },
                { <AB04>, "NORM",   1, color="white" },
                { <AB05>, "NORM",   1, color="white" },
                { <AB06>, "NORM",   1, color="white" },
                { <AB07>, "NORM",   1, color="white" },
                { <AB08>, "NORM",   1, color="white" },
                { <AB09>, "NORM",   1, color="white" },
                { <AB10>, "NORM",   1, color="white" },
                { <AB11>, "NORM",   1, color="white" },
                { <RTSH>, "RTSH",   1 }
            };
        };
        row {
            top=  77;
            left= 1;
            keys {
                { <LCTL>, "MODK",   1 }, { <LALT>, "MODK",  20 },
                { <NFER>, "MODK",   1 },
                { <SPCE>, "SPCE",   1, color="white" },
                { <XFER>, "MODK",   1 }, { <HKTG>, "MODK",   1 },
                { <RALT>, "MODK",   1 }, { <RCTL>, "MODK",  17 }
            };
        };
    }; // End of "Alpha" section

    section "Editing" {
        key.color= "grey20";
        priority=  9;
        top=       61;
        left=      310;
        width=     58;
        height=    95;
        row {
            top=  1;
            left= 1;
            keys {
                {  <INS>, "NORM",   1 }, { <HOME>, "NORM",   1 },
                { <PGUP>, "NORM",   1 }
            };
        };
        row {
            top=  20;
            left= 1;
            keys {
                { <DELE>, "NORM",   1 }, {  <END>, "NORM",   1 },
                { <PGDN>, "NORM",   1 }
            };
        };
        row {
            top=  58;
            left= 20;
            keys {
                {   <UP>, "NORM",   1 }
            };
        };
        row {
            top=  77;
            left= 1;
            keys {
                { <LEFT>, "NORM",   1 }, { <DOWN>, "NORM",   1 },
                { <RGHT>, "NORM",   1 }
            };
        };
    }; // End of "Editing" section

    section "Keypad" {
        key.color= "grey20";
        priority=  10;
        top=       61;
        left=      375;
        width=     77;
        height=    95;
        row {
            top=  1;
            left= 1;
            keys {
                { <NMLK>, "NORM",   1 }, { <KPDV>, "NORM",   1 },
                { <KPMU>, "NORM",   1 }, { <KPSU>, "NORM",   1 }
            };
        };
        row {
            top=  20;
            left= 1;
            keys {
                {  <KP7>, "NORM",   1, color="white" },
                {  <KP8>, "NORM",   1, color="white" },
                {  <KP9>, "NORM",   1, color="white" },
                { <KPAD>, "KPAD",   1 }
            };
        };
        row {
            top=  39;
            left= 1;
            keys {
                {  <KP4>, "NORM",   1, color="white" },
                {  <KP5>, "NORM",   1, color="white" },
                {  <KP6>, "NORM",   1, color="white" }
            };
        };
        row {
            top=  58;
            left= 1;
            keys {
                {  <KP1>, "NORM",   1, color="white" },
                {  <KP2>, "NORM",   1, color="white" },
                {  <KP3>, "NORM",   1, color="white" },
                { <KPEN>, "KPAD",   1 }
            };
        };
        row {
            top=  77;
            left= 1;
            keys {
                {  <KP0>, "KP0",   1, color="white" },
                { <KPDL>, "NORM",   1, color="white" }
            };
        };
    }; // End of "Keypad" section

    solid "LedPanel" {
        top=      25;
        left=     375;
        priority= 0;
        color= "grey10";
        shape= "LEDS";
    };
    indicator "Num Lock" {
        top=      40;
        left=     379;
        priority= 1;
        onColor= "green";
        offColor= "green30";
        shape= "LED";
    };
    indicator "Caps Lock" {
        top=      40;
        left=     404;
        priority= 2;
        onColor= "green";
        offColor= "green30";
        shape= "LED";
    };
    indicator "Scroll Lock" {
        top=      40;
        left=     429;
        priority= 3;
        onColor= "green";
        offColor= "green30";
        shape= "LED";
    };
    text "NumLockLabel" {
        top=      28;
        left=     378;
        priority= 4;
        width=  19.8;
        height=  10;
        XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
        text=  "Num\nLock";
    };
    text "CapsLockLabel" {
        top=      28;
        left=     403;
        priority= 5;
        width=  26.4;
        height=  10;
        XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
        text=  "Caps\nLock";
    };
    text "ScrollLockLabel" {
        top=      28;
        left=     428;
        priority= 6;
        width=  39.6;
        height=  10;
        XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
        text=  "Scroll\nLock";
    };
};

};


-- System Information:
Debian Release: testing/unstable
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12
Locale: LANG=ja_JP.eucJP, LC_CTYPE=ja_JP.eucJP (charmap=EUC-JP) (ignored: LC_ALL set to ja_JP.eucJP)

Versions of packages xlibs depends on:
ii  libice6                  6.8.2.dfsg.1-2  Inter-Client Exchange library
ii  libsm6                   6.8.2.dfsg.1-2  X Window System Session Management
ii  libx11-6                 4.3.0.dfsg.1-14 X Window System protocol client li
ii  libxext6                 6.8.2.dfsg.1-2  X Window System miscellaneous exte
ii  libxi6                   6.8.2.dfsg.1-2  X Window System Input extension li
ii  libxmu6                  6.8.2.dfsg.1-2  X Window System miscellaneous util
ii  libxmuu1                 6.8.2.dfsg.1-2  lightweight X Window System miscel
ii  libxp6                   4.3.0.dfsg.1-14 X Window System printing extension
ii  libxpm4                  6.8.2.dfsg.1-2  X pixmap library
ii  libxrandr2               6.8.2.dfsg.1-2  X Window System Resize, Rotate and
ii  libxt6                   6.8.2.dfsg.1-2  X Toolkit Intrinsics
ii  libxtrap6                6.8.2.dfsg.1-2  X Window System protocol-trapping 
ii  libxtst6                 6.8.2.dfsg.1-2  X Window System event recording an
ii  xlibs-data               6.8.2.dfsg.1-2  X Window System client data

xlibs recommends no packages.

-- no debconf information

-- 
Horms

--LQksG6bCIzRHxTLp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=del

--- ./etc_X11_6.8.2.dfsg.1-2/xkb/keycodes/xfree86	2005-07-12 21:58:36.000000000 +0300
+++ /etc/X11/xkb/keycodes/xfree86	2005-07-15 14:52:25.000000000 +0300
@@ -151,7 +151,9 @@
     // Keys that are generated on Japanese keyboards
 
     alias <HZTG> = <TLDE>;	// Hankaku_Zenkaku toggle
+    <HKTG> =   120;		// Hiragana_Katakana toggle
     <HKTG> =   208;		// Hiragana_Katakana toggle
+    alias <AB11> = <KPDC>;	// backslash/underscore
     <AB11> =   211;		// backslash/underscore
     <XFER> =   129;		// Henkan
     <NFER> =   131;		// Muhenkan

--LQksG6bCIzRHxTLp--

---------------------------------------
Received: (at 318413-done) by bugs.debian.org; 21 Oct 2005 07:43:30 +0000
>From horms@koto.vergenet.net Fri Oct 21 00:43:30 2005
Return-path: <horms@koto.vergenet.net>
Received: from koto.vergenet.net [210.128.90.7] 
	by spohr.debian.org with esmtp (Exim 3.36 1 (Debian))
	id 1ESrYo-0007bo-00; Fri, 21 Oct 2005 00:43:30 -0700
Received: by koto.vergenet.net (Postfix, from userid 7100)
	id 6337B34028; Fri, 21 Oct 2005 16:42:58 +0900 (JST)
Date: Fri, 21 Oct 2005 16:42:54 +0900
From: Horms <horms@debian.org>
To: Denis Barbier <barbier@linuxfr.org>, 318413-done@bugs.debian.org
Subject: Re: Bug#318413: xlibs: Backslash Key is broken on Japanese Keyboards
Message-ID: <20051021074252.GA9108@verge.net.au>
References: <4Krw6-4ot-13@gated-at.bofh.it> <4Lved-88F-1@gated-at.bofh.it> <4M4lH-1bv-9@gated-at.bofh.it> <20050913103723.GA6355@saltmine.radix.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20050913103723.GA6355@saltmine.radix.net>
X-Cluestick: seven
User-Agent: Mutt/1.5.11
Delivered-To: 318413-done@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02

On Tue, Sep 13, 2005 at 06:37:23AM -0400, Thomas Dickey wrote:
> On Mon, Sep 12, 2005 at 11:50:11PM +0200, Denis Barbier wrote:
> > On Sun, Sep 11, 2005 at 04:12:53AM -0400, Eric Prud'hommeaux wrote:
> > > I have xlibs 6.8.2.dfsg.1-6 and xserver-xfree86 4.3.0.dfsg.1-14 and
> > > can confirm that the http://www.vergenet.net/~horms/ patch resurrected
> > > my '\' and ']' keys.
> > 
> > Please do not mix xfree86 4.3.0 and xorg 6.8.2 packages, this won't get
> > supported.  Is there someone having trouble on Japanese keyboards with
> > xlibs and xserver-xorg 6.8.2.dfsg.1-6?

I just upgraded everything to xorg, and the problem goes away.
So its obvously some strange combination of 2 or more of xorg / xfree
and /etc/X11/xkb/keycodes/xfree86 interacting poorly for some reason.

Actually I suspec the problem is that the shipped
/etc/X11/xkb/keycodes/xfree86 works with xserver-xorg and not
with xserver-xfree. But thats just a wild guess.

Given that my upgrade path was weird, I'm going to go ahead and close
this bug myself. For the record, here are the versions of the packages
that debbug originally reported the versions of. The combination below 
seems to work without modification. Please let me know if you need any
more information or testing.

ii  libice6        6.8.2.dfsg.1-9 Inter-Client Exchange library
ii  libsm6         6.8.2.dfsg.1-9 X Window System Session Management
library
ii  libx11-6       6.8.2.dfsg.1-9 X Window System protocol client library
ii  libxext6       6.8.2.dfsg.1-9 X Window System miscellaneous extension library
ii  libxi6         6.8.2.dfsg.1-9 X Window System Input extension library
ii  libxmu6        6.8.2.dfsg.1-9 X Window System miscellaneous utility library
ii  libxmuu1       6.8.2.dfsg.1-9 lightweight X Window System miscellaneous utility library
ii  libxp6         6.8.2.dfsg.1-9 X Window System printing extension library
ii  libxpm4        6.8.2.dfsg.1-9 X pixmap library
ii  libxrandr2     6.8.2.dfsg.1-9 X Window System Resize, Rotate and Reflection extension library
ii  libxt6         6.8.2.dfsg.1-9 X Toolkit Intrinsics
ii  libxtrap6      6.8.2.dfsg.1-9 X Window System protocol-trapping extension library
ii  libxtst6       6.8.2.dfsg.1-9 X Window System event recording and testing extension library
ii  xlibs-data     6.8.2.dfsg.1-9 X Window System client data 

-- 
Horms



Reply to: