All Projects → DreymaR → Bigbagkbdtrixxkb

DreymaR / Bigbagkbdtrixxkb

Licence: mit
"DreymaR's Big Bag of Keyboard Tricks" for *nix with XKB

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Bigbagkbdtrixxkb

Fx Experience
fx-experience -> fx onscreen keyboard
Stars: ✭ 72 (-24.21%)
Mutual labels:  keyboard, keyboard-layout
kalamine
Keyboard Layout Maker
Stars: ✭ 47 (-50.53%)
Mutual labels:  keyboard, keyboard-layout
CustomKeyboard
A simple and fast implementation of a custom numeric keypad. There is always a keyboard for you.
Stars: ✭ 20 (-78.95%)
Mutual labels:  keyboard, keyboard-layout
keyboard-layouter
Footprint auto placement plugin for keyboard layout
Stars: ✭ 73 (-23.16%)
Mutual labels:  keyboard, keyboard-layout
Awesome Mechanical Keyboard
⌨️ A curated list of Open Source Mechanical Keyboard resources.
Stars: ✭ 1,294 (+1262.11%)
Mutual labels:  keyboard, keyboard-layout
keyd
A key remapping daemon for linux.
Stars: ✭ 687 (+623.16%)
Mutual labels:  keyboard, keyboard-layout
Juni
12 Keys Chorded keyboard layout
Stars: ✭ 51 (-46.32%)
Mutual labels:  keyboard, keyboard-layout
Ergodox Layout
algernon's ErgoDox EZ layout
Stars: ✭ 135 (+42.11%)
Mutual labels:  keyboard, keyboard-layout
Typist
Swift UIKit keyboard manager for iOS apps.
Stars: ✭ 1,011 (+964.21%)
Mutual labels:  keyboard, keyboard-layout
Shortcutmapper
A visual keyboard shortcuts explorer for popular applications.
Stars: ✭ 657 (+591.58%)
Mutual labels:  keyboard, keyboard-layout
kinesis-advantage-2
Keyboard layouts and macros for the Kinesis Advantage 2 keyboard.
Stars: ✭ 72 (-24.21%)
Mutual labels:  keyboard, keyboard-layout
Keyboardlayoutguide
⌨️ Manage iOS keyboard with Apple's missing KeyboardLayoutGuide
Stars: ✭ 1,054 (+1009.47%)
Mutual labels:  keyboard, keyboard-layout
react-material-ui-keyboard
Virtual keyboard for TextField when needed
Stars: ✭ 54 (-43.16%)
Mutual labels:  keyboard, keyboard-layout
keymacs
Ergonomic keyboard layout for nonergonomic keyboards.
Stars: ✭ 22 (-76.84%)
Mutual labels:  keyboard, keyboard-layout
Keyboard Layout Editor For Blender
Allows you to import keyboard layouts into blender and render them in 3d
Stars: ✭ 224 (+135.79%)
Mutual labels:  keyboard, keyboard-layout
GKey
German Keyboard Layout for TempleOS
Stars: ✭ 20 (-78.95%)
Mutual labels:  keyboard, keyboard-layout
Kll
KLL Compiler
Stars: ✭ 105 (+10.53%)
Mutual labels:  keyboard, keyboard-layout
Norman
Norman keyboard layout - alternative to QWERTY for touch typing in English
Stars: ✭ 112 (+17.89%)
Mutual labels:  keyboard, keyboard-layout
Vue Touch Keyboard
Virtual keyboard component for Vue.js 2.x. Designed to Raspberry Pi Touch Display
Stars: ✭ 255 (+168.42%)
Mutual labels:  keyboard, keyboard-layout
Skr
Low level key re-programming
Stars: ✭ 47 (-50.53%)
Mutual labels:  keyboard, keyboard-layout

DreymaR's Big Bag of Keyboard Tricks

For Linux using XKB

  • New "Colemak[eD]" AltGr mappings (lv3-4) putting dead keys on AltGr+symbol keys and reworking most other mappings
  • Angle/Wide ergo modifications to improve wrist angles, hand spacing and right pinky stretch/load effort
  • Curl(DH) ergo modifications to encourage natural finger curvature
  • An "Extend" layer using Caps Lock as a modifier (lv5-8) for navigation/editing from the home position and more
  • For several locales, a 'Unified Symbols' layout with only a few necessary changes from the standard Colemak[eD]; Also, a layout to 'Keep Local Symbols' like their default (QWERTY-type) counterparts for that locale
  • Intuitive phonetic layouts for Cyrillic, Greek and Hebrew scripts
  • Mirrored Colemak that allows one-handed typing (if I ever break an arm...)
  • The 4 Tarmak transitional Colemak layouts for learning Colemak(-DH) in smaller steps if desired

More info

Run the install and setxkb scripts with -h (or look inside them) for more help and info about their workings!

Learn about setxkb.sh "model locale variant" shortstring syntax in the BigBag. The default is "5cw us us": PC105(ISO) board with Curl(DH)AngleWide mods, US locale, Cmk-eD UniversalSymbols variant. To switch to, say, an ANSI board without ergo mods, that's 4n instead of 5cw. Look in the scripts.

NOTE: It may be necessary to select "Use system defaults" if you have changed anything in the OS GUI layout settings.

These files are updated to XKB-data v2.23.1-1ubuntu1, 2018. The xkb-data package is consistent enough between distros. I use the Debian xkb-data, sometimes with some Ubuntu updates. The .deb packages may be opened using dpkg -x or ar -xv (from binutils) on Linux, and for instance PeaZip on Windows.

Links

See DREYMAR'S BigBag XKB topic on the Colemak Forums. There are plenty of explanations and further links in there.

Happy XKB hacking! DreymaR, 2021-01

TODO:

  • Is there a way to clear the LevelFive mod on all the Extend mappings by default? Or must I be more careful with each RedirectKey()?
    • Example: Q -> Esc -> Caps caused people trouble, as Ext+Q would act as Esc+Caps.
    • Possibly, finally make a new key type EIGHT_LEVEL_EXTEND with the action clearmods=LevelFive added to state 5-8? No, no actions.
    • In xkb/types/level5 under EIGHT_LEVEL_SEMIALPHABETIC I used preserve[Shift] = Shift;. We need the opposite here, to discard lvl5.
    • See for instance https://www.x.org/releases/X11R7.5/doc/input/XKB-Enhancing.html
    • "Usually, all modifiers introduced in 'modifiers=' list are used for shift level calculation and then discarded."
    • Does this mean that LevelFive should've been discarded but isn't? Is it an XKB bug?
  • From Daniele at the Cmk Discord: Try out localectl?
    • E.g., 'localectl set-x11-keymap us pc105aw-sl cmk_ed_dh lv5:caps_switch_lock,misc:extend' should work to make changes persistent?
  • The Curl(DH) model implementation has to go as it may mess w/ QWERTY. Instead, I should use two Extend variants.
    • It also seems very hard for some newcomers to understand. So yes, I should have the Angle mod only and not CurlAngle models.
    • Also, matrix users want the V-D swap without an Angle mod! Another nail in the coffin for the Curl models.
    • Actually, should I make a NoModel CurlAngle layout for the model impaired? Vanilla, Curl(DH) and Curl(DH)Angle then.
    • Could just make a CurlAngle option!
    • But first, just the Curl with D-V swap built in. Just let the Extend Paste function be where it falls for now.
  • Update to the latest xkb-data: https://ubuntu.pkgs.org/20.04/ubuntu-main-amd64/xkb-data_2.29-2_all.deb.html
  • Find out how to change the rules component properly to allow compiling and eventually merging to the main repo?
  • Migrate from ~/.bashrc to ~/.xprofile? The latter is more appropriate, but which setups source it and which ones don't?
  • Could use an key code alias defined in keycodes/evdev (alias = ), instead of the code?
  • Test this method for using a local dir, by Bjørnar "zkf" Hansen:
  • An earlier comment on the local dir subject, by [email protected]:
  • For an EsAlt variant as in EPKL:
    key <AE04> { [             4,        dollar,       dead_currency,            EuroSign ] }; // 4
    key <AD07> { [             l,             L,               U2039,       guillemotleft ] }; // QWE U Cmk L
    key <AD08> { [             u,             U,                   ú,                   Ú ] }; // QWE I Cmk U - EsAlt
    key <AC01> { [             a,             A,                   á,                   Á ] }; // QWE A Cmk A - EsAlt
    key <AC06> { [             h,             H,           leftarrow,          rightarrow ] }; // QWE H Cmk H
//    key <AC07> { [             n,             N,                   ñ,                   Ñ ] }; // QWE J Cmk N - EsAlt ANSI
    key <AC08> { [             e,             E,                   é,                   É ] }; // QWE K Cmk E - EsAlt
    key <AC09> { [             i,             I,                   í,                   Í ] }; // QWE L Cmk I - EsAlt
    key <AC10> { [             o,             O,                   ó,                   Ó ] }; // QWE ; Cmk O - EsAlt
    key <LSGT> { [             ñ,             Ñ,                  oe,                  OE ] }; // <>          - EsAlt ISO
//    key <AB06> { [             k,             K,              endash,             uparrow ] }; // QWE N Cmk K - ANSI
    key <AD11> { [   bracketleft,     braceleft,           masculine,         ordfeminine ] }; // [{

DONE:

  • 2020-11-05: Switched to the new DH = DHm standard (was DH = DHk)
  • Changed the default layout for the setxkb.sh script to US (UniSym): In my experience, most users that struggle with the setup want US English.
  • To get back to your old layout/model, use setxkb 4n/5n [loc]. You may also specify mod loc [var]; omit var for the default (basic) variant.
  • Separated out the F# key block in the extend file: People complain that their TTY shortcuts aren't working because of it. Ext+AltGr+F# works though.
  • Relieve the sudo requirement. And add an option to change the X11 dir since Nix uses another place. Pulled from [email protected]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].