Our aim to have a keyboard which would be convenient for typing without distraction. In current instruction we will get keybindings look like in preview, but you could change any of them on your own using current example.
Key Mapper link: https://github.com/sezanzeb/key-mapper
Then install GNOME Tweaks
$ sudo apt-get install gnome-tweak-tool
Open tweak tools and choose settings in "Keyboard & Mouse" -> "Additional Layout Options" -> "Caps Lock behavior":
- "Caps Lock is disabled"
Open tweak tools and choose settings in "Keyboard & Mouse" -> "Additional Layout Options" -> "Alt/Win behavior":
- "Ctrl is mapped to Alt; Alt is mapped to Win"
sudo apt install git python3-setuptools
wget https://github.com/sezanzeb/key-mapper/releases/download/0.8.1/key-mapper-0.8.1.deb
sudo dpkg -i key-mapper-0.8.1.deb
Create new preset with any name you choose. Then copy text from config from file of this repo:
cat key-mapper/presets/USB-HID Keyboard/Andrey.json
to the Key Mapper preset config: .config/key-mapper/presets/USB-HID Keyboard
.
Note: a keyboard name could be different.
Note: other config files in dir key-mapper
of the repo are for backup purposes.
Now you could open Key Mapper and chose the preset you configured.
After that press Apply
. And key mapping should work immediatly.
If you want to make it default on system start enable Autoload
switch.
- Ubuntu 18.04
- GNOME Tweaks
- AutoKey
*Tested Ubuntu 18.04.
In Autokey itself Settings -> Devices -> Keyboard:
Lock screen -> Shift+Ctrl+L
Close window -> Shift+Ctrl+W
Then install GNOME Tweaks
$ sudo apt-get install gnome-tweak-tool
Open tweak tools and choose settings in "Keyboard & Mouse" -> "Additional Layout Options" -> "Caps Lock behavior":
- Typing->Caps Lock key behavior->Make Caps Lock an additional Hyper
Open GNOME Tweaks
Open tweak tools and choose settings in "Keyboard & Mouse" -> "Additional Layout Options" -> "Alt/Win behavior":
- "Ctrl is mapped to Alt; Alt is mapped to Win"
Install AutoKey
:
$ sudo apt-get install autokey-gtk
Open the program and disable default bindings for Hyper key inside AutoKey itself:
- Edit->Preferences->Special Hotkeys
- Make clean all of them
Add symlink for predefined keybindings from current repository:
$ git clone https://github.com/abogoyavlensky/keymap.git
$ ln -s /full/path/to/keymap/Phrases /full/path/to/.config/autokey/data/Phrases
Also nice to have AutoKey
always running. For that, please put it to
autostart:
- Open
Gnome Tweak Tools
and add the program in the tab calledStartup Application
.
- Tested on macOS 10.14.4
- Install Karabiner
Source: pqrs-org/Karabiner-Elements#3011 (comment)
- go to macOS settings: System Preferences -> Security & Privacy -> Input Monitoring
- unlock to make changes
- if you don't see
karabiner_grabber
click plus "+" button - add the /Library/Application Support/org.pqrs/Karabiner-Elements/bin/karabiner_grabber
- and enable it by clicking checkbox
Open next links to the browser to import configuration into Karabiner:
karabiner://karabiner/assets/complex_modifications/import?url=https://raw.githubusercontent.com/abogoyavlensky/keymap/master/Karabiner/keymap-arrows.json
karabiner://karabiner/assets/complex_modifications/import?url=https://raw.githubusercontent.com/abogoyavlensky/keymap/master/Karabiner/keymap-f-keys.json
All enabled complex modifications should looks like this:
Now your keyboard should look like on preview above.
All key bindings also work for any additional layout on your machine without delay after switching between them.
karabiner://karabiner/assets/complex_modifications/import?url=https://raw.githubusercontent.com/abogoyavlensky/keymap/master/Karabiner/keymap-uk-pound-to-hash.json
pqrs-org/Karabiner-Elements#1365
$ xev -event keyboard
https://github.com/autokey/autokey/wiki/Special-Keys
- http://tonsky.me/blog/cursor-keys/ - inspiration;
- https://github.com/madslundt/keybindings - different approach for Linux;
- http://www.keyboard-layout-editor.com/ - keyboard picture.
- in Autokey some of helpful Ubuntu system key bindings don't work with new arrow
keys. For example, you should still use ordinary arrows to move
current window to bottom workspace and so on:
<ctrl>+<alt>+<down>
.