diff --git a/README.md b/README.md index 740ac22..279efc1 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,11 @@ TODO: - See https://github.com/DreymaR/BigBagKbdTrixXKB/issues/14 - More useful info in this comment: https://github.com/DreymaR/BigBagKbdTrixXKB/issues/14#issuecomment-767590722 - "-I/usr/local/share/X11/xkb can be written more succinctly as -I. if you first cd into this directory." +* An earlier comment on the local dir subject, by neeasade@github: + - https://github.com/DreymaR/BigBagKbdTrixXKB/issues/1#issuecomment-462952051 + - https://unix.stackexchange.com/questions/397716/custom-keyboard-layout-without-root + - `setxkbmap -I $MYXKB -print | xkbcomp -I $MYXKB - "$DISPLAY" + - "I made that tweak to setxkb and some small changes to use a hardcoded $HOME dir path, and it appears good." * For an EsAlt variant as in EPKL: ``` key { [ 4, dollar, dead_currency, EuroSign ] }; // 4 diff --git a/xkb-data_xmod/xkb/symbols/extend b/xkb-data_xmod/xkb/symbols/extend index 2d3df12..1bcb4e4 100644 --- a/xkb-data_xmod/xkb/symbols/extend +++ b/xkb-data_xmod/xkb/symbols/extend @@ -40,20 +40,23 @@ // | Cust | Undo | Cut | Copy | Paste | *Bt1 | , | KP_0 | KP_0 | KP_. | KP_/ | Spc | K_Ent | // +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ // -// NOTE: A lv7 (Level5+Level3) modifier might be necessary to use the KeyPad level sensibly -// One idea is to use AltGr+Caps as a lv7_lock (Caps+AltGr is already lv7_switch) -// NOTE: If a hex pad is needed, the lv7(8?)+KBHDJG -> ABCDEF mappings are one solution -// NOTE: There's a KP key named KP_BEGIN; it seems like a hack? Ignored for now. -// NOTE: I've duplicated KP_0 to make it easy to hit. Useful for bigrams with 0. -// TODO: Autorepeat is hurting for some. This is probably an XKB bug? What can be done about it? -// One fix is to run xset afterwards: 'seq -s " r " 8 255 | xargs xset r' supposedly does the trick. -// Add the following to key <> {} defs (before symbols[Group1]=)? -// repeat=true, -// TODO: A lv7 modifier to reach the second Extend layer directly. -// Test out this: -// key { [ ISO_Level5_Shift ], actions[Group1] = [ SetMods(mods=LevelThree+LevelFive) ] }; -// -// NOTE: The Big Bag image has the PointerEnable key on LSGT, but ANSI users don't have it. Moved it to TLDE. +// TODO: Autorepeat is hurting for some. This is probably an XKB bug? What can be done about it? +// One fix is to run xset afterwards: 'seq -s " r " 8 255 | xargs xset r' supposedly does the trick. +// Add the following to key <> {} defs (before symbols[Group1]=)? +// repeat=true, +// TODO: A lv7 modifier to reach the second Extend layer directly. +// Test out this: +// key { [ ISO_Level5_Shift ], actions[Group1] = [ SetMods(mods=LevelThree+LevelFive) ] }; +// +// NOTE: A lv7 (Level5+Level3) modifier might be necessary to use the KeyPad level sensibly +// One idea is to use AltGr+Caps as a lv7_lock (Caps+AltGr is already lv7_switch) +// NOTE: If a hex pad is needed, the lv7(8?)+KBHDJG -> ABCDEF mappings are one solution +// NOTE: There's a KP key named KP_BEGIN; it seems like a hack? Ignored for now. +// NOTE: I've duplicated KP_0 to make it easy to hit. Useful for bigrams with 0. +// +// NOTE: The Big Bag image has the PointerEnable key on LSGT, but ANSI users don't have it. Moved it to TLDE. +// NOTE: The lv5 mod should be eaten up by xkb but isn't. Must manually clearmod it from all necessary keys. + default partial xkb_symbols "basic" { @@ -238,8 +241,8 @@ xkb_symbols "lv5" { Escape , Escape , // Esc Home , KP_Home ], // Home actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(), - Redirect(key=,clearmods=LevelFive), Redirect(key=,clearmods=LevelFive), // - Redirect(key=) , Redirect(key=) ] // + Redirect(key=,clearmods=LevelFive) , Redirect(key=,clearmods=LevelFive) , // + Redirect(key=,clearmods=LevelFive), Redirect(key=,clearmods=LevelFive) ] // }; // Q key { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol , XF86ScrollUp , XF86ScrollUp , // ScrollUp(††) @@ -252,14 +255,14 @@ xkb_symbols "lv5" { XF86Back , XF86Back , // BrBck End , KP_End ], // End actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(), - Redirect(key=) , Redirect(key=) , // (‡‡) + Redirect(key=,clearmods=LevelFive), Redirect(key=,clearmods=LevelFive), // (‡‡) NoAction() , NoAction() ] }; // QWE E, Cmk F key { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol , XF86Forward , XF86Forward , // BrFwd Delete , KP_Delete ], // Del actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(), - Redirect(key=) , Redirect(key=) , // (‡‡) + Redirect(key=,clearmods=LevelFive), Redirect(key=,clearmods=LevelFive), // (‡‡) NoAction() , NoAction() ] }; // QWE R, Cmk P key { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol , @@ -267,7 +270,7 @@ xkb_symbols "lv5" { Escape , Escape ], // Esc actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(), MovePtr(x=+0,y=-8) , MovePtr(x=+0,y=-8) , // PtrUp(††) - Redirect(key=,clearmods=LevelFive), Redirect(key=,clearmods=LevelFive) ] // + Redirect(key=,clearmods=LevelFive) , Redirect(key=,clearmods=LevelFive) ] // }; // QWE T, Cmk G key { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol , Page_Up , Page_Up , // PgUp @@ -308,7 +311,7 @@ xkb_symbols "lv5" { Escape , Escape , // Esc parenleft , braceleft ], // ( actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(), - Redirect(key=,clearmods=LevelFive), Redirect(key=,clearmods=LevelFive), // + Redirect(key=,clearmods=LevelFive) , Redirect(key=,clearmods=LevelFive) , // NoAction() , NoAction() ] }; // [ { key { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol , @@ -400,7 +403,7 @@ xkb_symbols "lv5" { Menu , Menu , // Menu apostrophe , quotedbl ], // ' " actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(), - Redirect(key=) , Redirect(key=) , // / + Redirect(key=,clearmods=LevelFive), Redirect(key=,clearmods=LevelFive) , // / NoAction() , NoAction() ] }; // ' "