Bug#752265: xterm: Meta doesn't behave sanely in UTF-8 locales
Package: xterm
Version: 300-1
Severity: important
Dear Maintainer,
When I run xterm, whether as `xterm' or as `uxterm', with a UTF-8 locale
(I've tried "en_US.UTF-8" and "C.UTF-8"), my Meta keys (which say Alt on
the cap, and according to xev(1) are Alt_L and Alt_R, which are both
listed under mod1 in xmodmap(1)'s output) are giving some strange
results.
Here are a few choice samples:
M-x: ø
M-q: ñ
M-w: ÷
Experimenting further seems to indicate that Meta is just XORing the
codepoint of the character produced by each key with 0x80. Now, you and
I both know that I can fix this by toggling the "Meta Sends Escape"
("metaSendsEscape") setting (though this is *not* what I had imagined
would happen with that off in UTF-8 mode), but I don't see why I should
have to do that when the alternative is so ... useless.
And now I see that there are also such settings as "eightBitInput",
"eightBitMeta", and even "altIsNotMeta"/"altSendsEscape" ...
Anyway, it sure seems like the default(s) here could use some work ...
The current situation certainly doesn't make for pleasant Emacsing.
(No, I don't really expect you to pore over my xkbmap, I'm just
attaching it in case it contains some vital piece of info not found
elsewhere in my report.)
xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x6d)
mod1 Alt_L (0x40), Alt_R (0x71), Meta_L (0x9c)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x7f), Hyper_L (0x80)
mod5 Mode_switch (0x5d), ISO_Level3_Shift (0x7c)
xkb_keymap {
xkb_keycodes "xfree86+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;
<BKSL> = 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;
<LSGT> = 94;
<FK11> = 95;
<FK12> = 96;
<HOME> = 97;
<UP> = 98;
<PGUP> = 99;
<LEFT> = 100;
<II65> = 101;
<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;
<FK15> = 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;
<HKTG> = 208;
<KANA> = 209;
<EISU> = 210;
<AB11> = 211;
<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 <AE00> = <TLDE>;
alias <HZTG> = <TLDE>;
alias <HNGL> = <FK16>;
alias <HJCV> = <FK17>;
alias <I01> = <XFER>;
alias <I03> = <NFER>;
alias <I05> = <AE13>;
alias <K5C> = <KPEQ>;
alias <K70> = <HKTG>;
alias <K71> = <KANA>;
alias <K72> = <EISU>;
alias <K73> = <AB11>;
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/* = Mod2 */,Alt/* = Mod1 */,LevelThree/* = Mod5 */,ScrollLock,LevelFive,AltGr/* = Mod5 */,Meta/* = Mod1 */,Super/* = Mod4 */,Hyper/* = Mod4 */;
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_ALT_LEVEL2" {
modifiers= Alt;
map[Alt]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Alt";
};
type "PC_SYSRQ" {
modifiers= Alt+LevelThree;
map[Alt]= Level2;
map[LevelThree]= Level3;
level_name[Level1]= "Base";
level_name[Level2]= "Alt";
level_name[Level3]= "Level3";
};
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 "EIGHT_LEVEL" {
modifiers= Shift+LevelThree+LevelFive;
map[Shift]= Level2;
map[LevelThree]= Level3;
map[Shift+LevelThree]= Level4;
map[LevelFive]= Level5;
map[Shift+LevelFive]= Level6;
map[LevelThree+LevelFive]= Level7;
map[Shift+LevelThree+LevelFive]= Level8;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Alt Base";
level_name[Level4]= "Shift Alt";
level_name[Level5]= "X";
level_name[Level6]= "X Shift";
level_name[Level7]= "X Alt Base";
level_name[Level8]= "X Shift Alt";
};
type "EIGHT_LEVEL_ALPHABETIC" {
modifiers= Shift+Lock+LevelThree+LevelFive;
map[Shift]= Level2;
map[Lock]= Level2;
map[LevelThree]= Level3;
map[Shift+LevelThree]= Level4;
map[Lock+LevelThree]= Level4;
map[Shift+Lock+LevelThree]= Level3;
map[LevelFive]= Level5;
map[Shift+LevelFive]= Level6;
map[Lock+LevelFive]= Level6;
map[LevelThree+LevelFive]= Level7;
map[Shift+LevelThree+LevelFive]= Level8;
map[Lock+LevelThree+LevelFive]= Level8;
map[Shift+Lock+LevelThree+LevelFive]= Level7;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Alt Base";
level_name[Level4]= "Shift Alt";
level_name[Level5]= "X";
level_name[Level6]= "X Shift";
level_name[Level7]= "X Alt Base";
level_name[Level8]= "X Shift Alt";
};
type "EIGHT_LEVEL_SEMIALPHABETIC" {
modifiers= Shift+Lock+LevelThree+LevelFive;
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;
map[LevelFive]= Level5;
map[Shift+LevelFive]= Level6;
map[Lock+LevelFive]= Level6;
preserve[Lock+LevelFive]= Lock;
map[LevelThree+LevelFive]= Level7;
map[Shift+LevelThree+LevelFive]= Level8;
map[Lock+LevelThree+LevelFive]= Level7;
preserve[Lock+LevelThree+LevelFive]= Lock;
map[Shift+Lock+LevelThree+LevelFive]= Level8;
preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
map[Shift+Lock+LevelFive]= Level1;
preserve[Shift+Lock+LevelFive]= Lock;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Alt Base";
level_name[Level4]= "Shift Alt";
level_name[Level5]= "X";
level_name[Level6]= "X Shift";
level_name[Level7]= "X Alt Base";
level_name[Level8]= "X Shift Alt";
};
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_MIXED_KEYPAD" {
modifiers= Shift+NumLock+LevelThree;
map[Shift+NumLock]= Level1;
map[NumLock]= Level2;
map[Shift]= Level2;
map[LevelThree]= Level3;
map[NumLock+LevelThree]= Level3;
map[Shift+LevelThree]= Level4;
map[Shift+NumLock+LevelThree]= Level4;
level_name[Level1]= "Base";
level_name[Level2]= "Number";
level_name[Level3]= "Alt Base";
level_name[Level4]= "Shift Alt";
};
type "FOUR_LEVEL_X" {
modifiers= Shift+Control+Alt+LevelThree;
map[LevelThree]= Level2;
map[Shift+LevelThree]= Level3;
map[Control+Alt]= Level4;
level_name[Level1]= "Base";
level_name[Level2]= "Alt Base";
level_name[Level3]= "Shift Alt";
level_name[Level4]= "Ctrl+Alt";
};
type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
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";
};
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";
};
};
xkb_compatibility "complete" {
virtual_modifiers NumLock/* = Mod2 */,Alt/* = Mod1 */,LevelThree/* = Mod5 */,ScrollLock,LevelFive,AltGr/* = Mod5 */,Meta/* = Mod1 */,Super/* = Mod4 */,Hyper/* = Mod4 */;
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;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Alt_R+AnyOf(all) {
virtualModifier= Alt;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Meta_L+AnyOf(all) {
virtualModifier= Meta;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Meta_R+AnyOf(all) {
virtualModifier= Meta;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Super_L+AnyOf(all) {
virtualModifier= Super;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Super_R+AnyOf(all) {
virtualModifier= Super;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Hyper_L+AnyOf(all) {
virtualModifier= Hyper;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Hyper_R+AnyOf(all) {
virtualModifier= Hyper;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Scroll_Lock+AnyOf(all) {
virtualModifier= ScrollLock;
action= LockMods(modifiers=modMapMods);
};
interpret ISO_Level5_Shift+AnyOf(all) {
virtualModifier= LevelFive;
useModMapMods=level1;
action= SetMods(modifiers=LevelFive,clearLocks);
};
interpret ISO_Level5_Latch+AnyOf(all) {
virtualModifier= LevelFive;
action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
};
interpret ISO_Level5_Lock+AnyOf(all) {
virtualModifier= LevelFive;
action= LockMods(modifiers=LevelFive);
};
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 F25+AnyOfOrNone(all) {
repeat= True;
action= SetPtrDflt(affect=button,button=1);
};
interpret F26+AnyOfOrNone(all) {
repeat= True;
action= SetPtrDflt(affect=button,button=2);
};
interpret F27+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=-1,y=-1);
};
interpret F29+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+1,y=-1);
};
interpret F31+AnyOfOrNone(all) {
repeat= True;
action= PtrBtn(button=default);
};
interpret F33+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=-1,y=+1);
};
interpret F35+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+1,y=+1);
};
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=Meta,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 XF86Switch_VT_1+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=1,!same);
};
interpret XF86Switch_VT_2+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=2,!same);
};
interpret XF86Switch_VT_3+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=3,!same);
};
interpret XF86Switch_VT_4+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=4,!same);
};
interpret XF86Switch_VT_5+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=5,!same);
};
interpret XF86Switch_VT_6+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=6,!same);
};
interpret XF86Switch_VT_7+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=7,!same);
};
interpret XF86Switch_VT_8+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=8,!same);
};
interpret XF86Switch_VT_9+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=9,!same);
};
interpret XF86Switch_VT_10+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=10,!same);
};
interpret XF86Switch_VT_11+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=11,!same);
};
interpret XF86Switch_VT_12+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=12,!same);
};
interpret XF86Ungrab+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 XF86ClearGrab+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 XF86Next_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 XF86Prev_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 ISO_Level5_Shift+AnyOfOrNone(all) {
action= SetMods(modifiers=LevelFive,clearLocks);
};
interpret ISO_Level5_Latch+AnyOfOrNone(all) {
action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
};
interpret ISO_Level5_Lock+AnyOfOrNone(all) {
action= LockMods(modifiers=LevelFive);
};
interpret Any+Exactly(Lock) {
action= LockMods(modifiers=Lock);
};
interpret Any+AnyOf(all) {
action= SetMods(modifiers=modMapMods,clearLocks);
};
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+us" {
name[group1]="U.S. English";
key <ESC> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Escape ]
};
key <AE01> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 1, exclam ]
};
key <AE02> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 2, at ]
};
key <AE03> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 3, numbersign ]
};
key <AE04> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 4, dollar ]
};
key <AE05> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 5, percent ]
};
key <AE06> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 6, asciicircum ]
};
key <AE07> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 7, ampersand ]
};
key <AE08> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 8, asterisk ]
};
key <AE09> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 9, parenleft ]
};
key <AE10> {
// type= "TWO_LEVEL",
symbols[Group1]= [ 0, parenright ]
};
key <AE11> {
// type= "TWO_LEVEL",
symbols[Group1]= [ minus, underscore ]
};
key <AE12> {
// type= "TWO_LEVEL",
symbols[Group1]= [ equal, plus ]
};
key <BKSP> {
type= "CTRL+ALT",
symbols[Group1]= [ BackSpace, Terminate_Server ],
actions[Group1]= [ NoAction(), Terminate() ]
};
key <TAB> {
// type= "TWO_LEVEL",
symbols[Group1]= [ Tab, ISO_Left_Tab ]
};
key <AD01> {
type= "ALPHABETIC",
symbols[Group1]= [ q, Q ]
};
key <AD02> {
type= "ALPHABETIC",
symbols[Group1]= [ w, W ]
};
key <AD03> {
type= "ALPHABETIC",
symbols[Group1]= [ e, E ]
};
key <AD04> {
type= "ALPHABETIC",
symbols[Group1]= [ r, R ]
};
key <AD05> {
type= "ALPHABETIC",
symbols[Group1]= [ t, T ]
};
key <AD06> {
type= "ALPHABETIC",
symbols[Group1]= [ y, Y ]
};
key <AD07> {
type= "ALPHABETIC",
symbols[Group1]= [ u, U ]
};
key <AD08> {
type= "ALPHABETIC",
symbols[Group1]= [ i, I ]
};
key <AD09> {
type= "ALPHABETIC",
symbols[Group1]= [ o, O ]
};
key <AD10> {
type= "ALPHABETIC",
symbols[Group1]= [ p, P ]
};
key <AD11> {
// type= "TWO_LEVEL",
symbols[Group1]= [ bracketleft, braceleft ]
};
key <AD12> {
// type= "TWO_LEVEL",
symbols[Group1]= [ bracketright, braceright ]
};
key <RTRN> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Return ]
};
key <LCTL> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Control_L ],
actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks) ]
};
key <AC01> {
type= "ALPHABETIC",
symbols[Group1]= [ a, A ]
};
key <AC02> {
type= "ALPHABETIC",
symbols[Group1]= [ s, S ]
};
key <AC03> {
type= "ALPHABETIC",
symbols[Group1]= [ d, D ]
};
key <AC04> {
type= "ALPHABETIC",
symbols[Group1]= [ f, F ]
};
key <AC05> {
type= "ALPHABETIC",
symbols[Group1]= [ g, G ]
};
key <AC06> {
type= "ALPHABETIC",
symbols[Group1]= [ h, H ]
};
key <AC07> {
type= "ALPHABETIC",
symbols[Group1]= [ j, J ]
};
key <AC08> {
type= "ALPHABETIC",
symbols[Group1]= [ k, K ]
};
key <AC09> {
type= "ALPHABETIC",
symbols[Group1]= [ l, L ]
};
key <AC10> {
// type= "TWO_LEVEL",
symbols[Group1]= [ semicolon, colon ]
};
key <AC11> {
// type= "TWO_LEVEL",
symbols[Group1]= [ apostrophe, quotedbl ]
};
key <TLDE> {
// type= "TWO_LEVEL",
symbols[Group1]= [ grave, asciitilde ]
};
key <LFSH> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Shift_L ],
actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks) ]
};
key <BKSL> {
// type= "TWO_LEVEL",
symbols[Group1]= [ backslash, bar ]
};
key <AB01> {
type= "ALPHABETIC",
symbols[Group1]= [ z, Z ]
};
key <AB02> {
type= "ALPHABETIC",
symbols[Group1]= [ x, X ]
};
key <AB03> {
type= "ALPHABETIC",
symbols[Group1]= [ c, C ]
};
key <AB04> {
type= "ALPHABETIC",
symbols[Group1]= [ v, V ]
};
key <AB05> {
type= "ALPHABETIC",
symbols[Group1]= [ b, B ]
};
key <AB06> {
type= "ALPHABETIC",
symbols[Group1]= [ n, N ]
};
key <AB07> {
type= "ALPHABETIC",
symbols[Group1]= [ m, M ]
};
key <AB08> {
// type= "TWO_LEVEL",
symbols[Group1]= [ comma, less ]
};
key <AB09> {
// type= "TWO_LEVEL",
symbols[Group1]= [ period, greater ]
};
key <AB10> {
// type= "TWO_LEVEL",
symbols[Group1]= [ slash, question ]
};
key <RTSH> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Shift_R ],
actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks) ]
};
key <KPMU> {
type= "CTRL+ALT",
symbols[Group1]= [ KP_Multiply, XF86ClearGrab ],
actions[Group1]= [ SetPtrDflt(affect=button,button=2), Private(type=0x86,data[0]=0x43,data[1]=0x6c,data[2]=0x73,data[3]=0x47,data[4]=0x72,data[5]=0x62,data[6]=0x00) ]
};
key <LALT> {
// type= "TWO_LEVEL",
// virtualMods= Alt+Meta,
symbols[Group1]= [ Alt_L, Meta_L ],
actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks), SetMods(modifiers=modMapMods,clearLocks) ]
};
key <SPCE> {
// type= "ONE_LEVEL",
symbols[Group1]= [ space ]
};
key <CAPS> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Caps_Lock ],
actions[Group1]= [ LockMods(modifiers=Lock) ]
};
key <FK01> {
type= "CTRL+ALT",
symbols[Group1]= [ F1, XF86Switch_VT_1 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=1,!same) ]
};
key <FK02> {
type= "CTRL+ALT",
symbols[Group1]= [ F2, XF86Switch_VT_2 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=2,!same) ]
};
key <FK03> {
type= "CTRL+ALT",
symbols[Group1]= [ F3, XF86Switch_VT_3 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=3,!same) ]
};
key <FK04> {
type= "CTRL+ALT",
symbols[Group1]= [ F4, XF86Switch_VT_4 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=4,!same) ]
};
key <FK05> {
type= "CTRL+ALT",
symbols[Group1]= [ F5, XF86Switch_VT_5 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=5,!same) ]
};
key <FK06> {
type= "CTRL+ALT",
symbols[Group1]= [ F6, XF86Switch_VT_6 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=6,!same) ]
};
key <FK07> {
type= "CTRL+ALT",
symbols[Group1]= [ F7, XF86Switch_VT_7 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=7,!same) ]
};
key <FK08> {
type= "CTRL+ALT",
symbols[Group1]= [ F8, XF86Switch_VT_8 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=8,!same) ]
};
key <FK09> {
type= "CTRL+ALT",
symbols[Group1]= [ F9, XF86Switch_VT_9 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=9,!same) ]
};
key <FK10> {
type= "CTRL+ALT",
symbols[Group1]= [ F10, XF86Switch_VT_10 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=10,!same) ]
};
key <NMLK> {
// type= "TWO_LEVEL",
// virtualMods= NumLock,
symbols[Group1]= [ Num_Lock, Pointer_EnableKeys ],
actions[Group1]= [ LockMods(modifiers=NumLock), LockControls(controls=MouseKeys) ]
};
key <SCLK> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Scroll_Lock ]
};
key <KP7> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Home, KP_7 ],
actions[Group1]= [ MovePtr(x=-1,y=-1), MovePtr(x=-1,y=-1) ]
};
key <KP8> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Up, KP_8 ],
actions[Group1]= [ MovePtr(x=+0,y=-1), MovePtr(x=+0,y=-1) ]
};
key <KP9> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Prior, KP_9 ],
actions[Group1]= [ MovePtr(x=+1,y=-1), MovePtr(x=+1,y=-1) ]
};
key <KPSU> {
type= "CTRL+ALT",
symbols[Group1]= [ KP_Subtract, XF86Prev_VMode ],
actions[Group1]= [ SetPtrDflt(affect=button,button=3), Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00) ]
};
key <KP4> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Left, KP_4 ],
actions[Group1]= [ MovePtr(x=-1,y=+0), MovePtr(x=-1,y=+0) ]
};
key <KP5> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Begin, KP_5 ],
actions[Group1]= [ PtrBtn(button=default), PtrBtn(button=default) ]
};
key <KP6> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Right, KP_6 ],
actions[Group1]= [ MovePtr(x=+1,y=+0), MovePtr(x=+1,y=+0) ]
};
key <KPAD> {
type= "CTRL+ALT",
symbols[Group1]= [ KP_Add, XF86Next_VMode ],
actions[Group1]= [ PtrBtn(button=default,count=2), Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00) ]
};
key <KP1> {
// type= "KEYPAD",
symbols[Group1]= [ KP_End, KP_1 ],
actions[Group1]= [ MovePtr(x=-1,y=+1), MovePtr(x=-1,y=+1) ]
};
key <KP2> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Down, KP_2 ],
actions[Group1]= [ MovePtr(x=+0,y=+1), MovePtr(x=+0,y=+1) ]
};
key <KP3> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Next, KP_3 ],
actions[Group1]= [ MovePtr(x=+1,y=+1), MovePtr(x=+1,y=+1) ]
};
key <KP0> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Insert, KP_0 ],
actions[Group1]= [ LockPtrBtn(button=default,affect=lock), LockPtrBtn(button=default,affect=lock) ]
};
key <KPDL> {
// type= "KEYPAD",
symbols[Group1]= [ KP_Delete, KP_Decimal ],
actions[Group1]= [ LockPtrBtn(button=default,affect=unlock), LockPtrBtn(button=default,affect=unlock) ]
};
key <MDSW> {
// type= "ONE_LEVEL",
// virtualMods= AltGr,
symbols[Group1]= [ Mode_switch ],
actions[Group1]= [ SetGroup(group=+1) ]
};
key <LSGT> {
type= "FOUR_LEVEL",
symbols[Group1]= [ less, greater, bar, brokenbar ]
};
key <FK11> {
type= "CTRL+ALT",
symbols[Group1]= [ F11, XF86Switch_VT_11 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=11,!same) ]
};
key <FK12> {
type= "CTRL+ALT",
symbols[Group1]= [ F12, XF86Switch_VT_12 ],
actions[Group1]= [ NoAction(), SwitchScreen(screen=12,!same) ]
};
key <HOME> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Home ]
};
key <UP> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Up ]
};
key <PGUP> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Prior ]
};
key <LEFT> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Left ]
};
key <RGHT> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Right ]
};
key <END> {
// type= "ONE_LEVEL",
symbols[Group1]= [ End ]
};
key <DOWN> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Down ]
};
key <PGDN> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Next ]
};
key <INS> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Insert ]
};
key <DELE> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Delete ]
};
key <KPEN> {
// type= "ONE_LEVEL",
symbols[Group1]= [ KP_Enter ]
};
key <RCTL> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Control_R ],
actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks) ]
};
key <PAUS> {
type= "PC_BREAK",
symbols[Group1]= [ Pause, Break ]
};
key <PRSC> {
type= "PC_SYSRQ",
symbols[Group1]= [ Print, Sys_Req, NoSymbol ]
};
key <KPDV> {
type= "CTRL+ALT",
symbols[Group1]= [ KP_Divide, XF86Ungrab ],
actions[Group1]= [ SetPtrDflt(affect=button,button=1), Private(type=0x86,data[0]=0x55,data[1]=0x6e,data[2]=0x67,data[3]=0x72,data[4]=0x61,data[5]=0x62,data[6]=0x00) ]
};
key <RALT> {
// type= "TWO_LEVEL",
// virtualMods= Alt+Meta,
symbols[Group1]= [ Alt_R, Meta_R ],
actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks), SetMods(modifiers=modMapMods,clearLocks) ]
};
key <LWIN> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Super_L ],
actions[Group1]= [ SetMods(modifiers=Super,clearLocks) ]
};
key <RWIN> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Super_R ],
actions[Group1]= [ SetMods(modifiers=Super,clearLocks) ]
};
key <MENU> {
// type= "ONE_LEVEL",
symbols[Group1]= [ Menu ]
};
key <LVL3> {
// type= "ONE_LEVEL",
// virtualMods= LevelThree,
symbols[Group1]= [ ISO_Level3_Shift ],
actions[Group1]= [ SetMods(modifiers=LevelThree,clearLocks) ]
};
key <ALT> {
// type= "TWO_LEVEL",
symbols[Group1]= [ NoSymbol, Alt_L ],
actions[Group1]= [ NoAction(), SetMods(modifiers=Alt,clearLocks) ]
};
key <KPEQ> {
// type= "ONE_LEVEL",
symbols[Group1]= [ KP_Equal ]
};
key <SUPR> {
// type= "TWO_LEVEL",
// virtualMods= Super,
symbols[Group1]= [ NoSymbol, Super_L ],
actions[Group1]= [ NoAction(), SetMods(modifiers=modMapMods,clearLocks) ]
};
key <HYPR> {
// type= "TWO_LEVEL",
// virtualMods= Hyper,
symbols[Group1]= [ NoSymbol, Hyper_L ],
actions[Group1]= [ NoAction(), SetMods(modifiers=modMapMods,clearLocks) ]
};
key <META> {
// type= "TWO_LEVEL",
// virtualMods= Meta,
symbols[Group1]= [ NoSymbol, Meta_L ],
actions[Group1]= [ NoAction(), SetMods(modifiers=modMapMods,clearLocks) ]
};
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 Mod1 { <RALT> };
modifier_map Mod5 { <LVL3> };
modifier_map Mod4 { <SUPR> };
modifier_map Mod4 { <HYPR> };
modifier_map Mod1 { <META> };
};
xkb_geometry "pc(pc105)" {
width= 470;
height= 210;
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
baseColor= "white";
labelColor= "black";
xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
// color[0]= "black"
// color[1]= "white"
// color[2]= "grey20"
// color[3]= "grey10"
// color[4]= "green"
// color[5]= "green30"
description= "Generic 105";
shape "NORM" {
corner= 1,
{ [ 18, 18 ] },
{ [ 2, 1 ], [ 16, 16 ] }
};
shape "BKSP" {
corner= 1,
{ [ 38, 18 ] },
{ [ 2, 1 ], [ 36, 16 ] }
};
shape "TABK" {
corner= 1,
{ [ 28, 18 ] },
{ [ 2, 1 ], [ 26, 16 ] }
};
shape "BKSL" {
corner= 1,
{ [ 28, 18 ] },
{ [ 2, 1 ], [ 26, 16 ] }
};
shape "RTRN" {
corner= 1,
{ [ 42, 18 ] },
{ [ 2, 1 ], [ 40, 16 ] }
};
shape "CAPS" {
corner= 1,
{ [ 33, 18 ] },
{ [ 2, 1 ], [ 31, 16 ] }
};
shape "LFSH" {
corner= 1,
{ [ 25, 18 ] },
{ [ 2, 1 ], [ 23, 16 ] }
};
shape "RTSH" {
corner= 1,
{ [ 50, 18 ] },
{ [ 2, 1 ], [ 50, 16 ] }
};
shape "MODK" {
corner= 1,
{ [ 27, 18 ] },
{ [ 2, 1 ], [ 25, 16 ] }
};
shape "SMOD" {
corner= 1,
{ [ 23, 18 ] },
{ [ 2, 1 ], [ 21, 16 ] }
};
shape "SPCE" {
corner= 1,
{ [ 113, 18 ] },
{ [ 2, 1 ], [ 111, 16 ] }
};
shape "KP0" {
corner= 1,
{ [ 37, 18 ] },
{ [ 2, 1 ], [ 35, 16 ] }
};
shape "KPAD" {
corner= 1,
{ [ 18, 37 ] },
{ [ 2, 1 ], [ 16, 35 ] }
};
shape "LEDS" { { [ 75, 20 ] } };
shape "LED" { { [ 5, 1 ] } };
section "Function" {
key.color= "grey20";
priority= 7;
top= 52;
left= 19;
width= 351;
height= 19;
row {
top= 1;
left= 1;
keys {
{ <ESC>, "NORM", 1 },
{ <FK01>, "NORM", 20, color="white" },
{ <FK02>, "NORM", 1, color="white" },
{ <FK03>, "NORM", 1, color="white" },
{ <FK04>, "NORM", 1, color="white" },
{ <FK05>, "NORM", 11, color="white" },
{ <FK06>, "NORM", 1, color="white" },
{ <FK07>, "NORM", 1, color="white" },
{ <FK08>, "NORM", 1, color="white" },
{ <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= "white";
priority= 8;
top= 91;
left= 19;
width= 287;
height= 95;
row {
top= 1;
left= 1;
keys {
{ <TLDE>, "NORM", 1 }, { <AE01>, "NORM", 1 },
{ <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 },
{ <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 },
{ <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 },
{ <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 },
{ <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 },
{ <AE12>, "NORM", 1 },
{ <BKSP>, "BKSP", 1, color="grey20" }
};
};
row {
top= 20;
left= 1;
keys {
{ <TAB>, "TABK", 1, color="grey20" },
{ <AD01>, "NORM", 1 }, { <AD02>, "NORM", 1 },
{ <AD03>, "NORM", 1 }, { <AD04>, "NORM", 1 },
{ <AD05>, "NORM", 1 }, { <AD06>, "NORM", 1 },
{ <AD07>, "NORM", 1 }, { <AD08>, "NORM", 1 },
{ <AD09>, "NORM", 1 }, { <AD10>, "NORM", 1 },
{ <AD11>, "NORM", 1 }, { <AD12>, "NORM", 1 },
{ <BKSL>, "BKSL", 1 }
};
};
row {
top= 39;
left= 1;
keys {
{ <CAPS>, "CAPS", 1, color="grey20" },
{ <AC01>, "NORM", 1 }, { <AC02>, "NORM", 1 },
{ <AC03>, "NORM", 1 }, { <AC04>, "NORM", 1 },
{ <AC05>, "NORM", 1 }, { <AC06>, "NORM", 1 },
{ <AC07>, "NORM", 1 }, { <AC08>, "NORM", 1 },
{ <AC09>, "NORM", 1 }, { <AC10>, "NORM", 1 },
{ <AC11>, "NORM", 1 },
{ <RTRN>, "RTRN", 1, color="grey20" }
};
};
row {
top= 58;
left= 1;
keys {
{ <LFSH>, "LFSH", 1, color="grey20" },
{ <LSGT>, "NORM", 1 }, { <AB01>, "NORM", 1 },
{ <AB02>, "NORM", 1 }, { <AB03>, "NORM", 1 },
{ <AB04>, "NORM", 1 }, { <AB05>, "NORM", 1 },
{ <AB06>, "NORM", 1 }, { <AB07>, "NORM", 1 },
{ <AB08>, "NORM", 1 }, { <AB09>, "NORM", 1 },
{ <AB10>, "NORM", 1 },
{ <RTSH>, "RTSH", 1, color="grey20" }
};
};
row {
top= 77;
left= 1;
keys {
{ <LCTL>, "MODK", 1, color="grey20" },
{ <LWIN>, "SMOD", 1, color="grey20" },
{ <LALT>, "SMOD", 1, color="grey20" },
{ <SPCE>, "SPCE", 1 },
{ <RALT>, "SMOD", 1, color="grey20" },
{ <RWIN>, "SMOD", 1, color="grey20" },
{ <MENU>, "SMOD", 1, color="grey20" },
{ <RCTL>, "SMOD", 1, color="grey20" }
};
};
}; // End of "Alpha" section
section "Editing" {
key.color= "grey20";
priority= 9;
top= 91;
left= 312;
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= 91;
left= 376;
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= 52;
left= 377;
priority= 0;
color= "grey10";
shape= "LEDS";
};
indicator "Num Lock" {
top= 67;
left= 382;
priority= 1;
onColor= "green";
offColor= "green30";
shape= "LED";
};
indicator "Caps Lock" {
top= 67;
left= 407;
priority= 2;
onColor= "green";
offColor= "green30";
shape= "LED";
};
indicator "Scroll Lock" {
top= 67;
left= 433;
priority= 3;
onColor= "green";
offColor= "green30";
shape= "LED";
};
text "NumLockLabel" {
top= 55;
left= 378;
priority= 4;
width= 19.8;
height= 10;
XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
text= "Num\nLock";
};
text "CapsLockLabel" {
top= 55;
left= 403;
priority= 5;
width= 26.4;
height= 10;
XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
text= "Caps\nLock";
};
text "ScrollLockLabel" {
top= 55;
left= 428;
priority= 6;
width= 39.6;
height= 10;
XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
text= "Scroll\nLock";
};
};
};
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 3.14-1-686-pae (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages xterm depends on:
ii libc6 2.18-4
ii libfontconfig1 2.11.0-1
ii libice6 2:1.0.8-2
ii libtinfo5 5.9+20130608-1
ii libutempter0 1.1.5-4
ii libx11-6 2:1.6.2-1
ii libxaw7 2:1.0.12-1
ii libxft2 2.3.1-1
ii libxmu6 2:1.1.1-1
ii libxpm4 1:3.5.10-1
ii libxt6 1:1.1.4-1
ii xbitmaps 1.1.1-2
Versions of packages xterm recommends:
ii x11-utils 7.7+1
Versions of packages xterm suggests:
pn xfonts-cyrillic <none>
-- no debconf information
--
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!
Reply to: