takenx10-layouts v1.5.0
takenX10 Layouts
This is a repository where I store my layouts
Index
- Images - Custom Programmer Dvorak no shift - Custom Programmer Dvorak shift - Extend Layer Standard
- Windows Layouts - Tools - Custom Programmer Dvorak Windows - Extend Windows
- Linux layouts - Keyboard repeat rate - Extend Linux - Default installation - Canc and backspace - VSCode and Extend - Running the extend command on startup - Custom Dvorak programmer linux - Default installation - Apply custom dvorak permanently - Switch between layouts - Apply Gnome settings to i3
Images
Custom Programmer Dvorak no shift
Custom Programmer Dvorak shift
Extend Layer Standard
Windows Layouts
All the source codes and layouts are located in /windows
Tools
- To use the extend keyboard layout you'll need to download AutoHotKey (If the link doesn't work just search it online), it's a tool to automate keybindings.
Custom Programmer Dvorak Windows
Layout noshift Image Layout shift Image
Source files are generated using the tool Microsoft Keyboard Layout Creator
Source files are located in /windows/dvpale
.
You just need tu run DvpAle_*.msi
(Its one of the three executable files amd64, i386 or ia64, it depends on the machine where its executed. BTW usually its amd64), then:
On Win10
- Settings > Language
- If you don't have English (American), Add it
- English (American) > edit
- Add keyboard >
Americano- Dvorak_ale
Then you can switch between layouts using WIN + SPACE
, if it doesn't work go to:
- Settings > Language > Keyboard
- Select
Use language list
Then it should switch between layouts If it still doesn't work try to restart the pc.
Extend Windows
Remember to download AutoHotKey
I found this script in this repo, so thanks to stevep99.
I already edited the file, removing the ;
(removed the comment) in the lines 8 and 9, so instead of:
; #InputLevel 1
; CapsLock::F22
I have
#InputLevel 1
CapsLock::F22
If you want to use another extend layer just remember to edit those lines.
Try to run the script with AutoHotKey, if they link together you can move the script file or a link to the script file in the auto run folder, otherwise just run it whenever you need it. (auto run folder: %appdata%\Microsoft\Windows\Start Menu\Programs\Startup
)
Linux layouts
Keyboard repeat rate
gsettings set org.gnome.desktop.peripherals.keyboard delay 150
gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 30
Extend Linux
Default installation
To install extend you need to download the BigBagOfTricks from Dreymar and apply the extend layer with setxkb.
- Clone the BigBagOfTricks repository
git clone https://github.com/DreymaR/BigBagKbdTrixXKB.git
- cd inside the new directory
cd BigBagKbdTrixXKB
- make the installer executable
chmod +x install-dreymar-xmod.sh
- run the installer
sudo ./install-dreymar-xmod.sh
WARNING: All your xkb files will be moved elsewere, so if you already modified something there you should back everything up before launching the installer.
To apply all the changes you should run this command
setxkbmap -v 9 -option "" -option "misc:extend,lv5:caps_switch_lock,compose:menu"
Canc and backspace
The BigBagOfTricks extend layer has the canc and backspace buttons inverted, so to invert them you need to modify the extend xkb config file. I already created a fixed version for you, to install it just run the invert_canc_backspace.sh
script inside the linux folder in my repository.
sudo ./invert_canc_backspace.sh
VSCode and Extend
There is a small bug on vscode that makes extend work strangely. when you press the extend layer ctrl button (CAPS+F on qwerty) it behaves in a particular way and sends both the ctrl input and the ctrl+f input. I still don't know the solution, but I found a small fix, you can just unbind ctrl+f from the vscode shortcut json and it will fix the problem (tho obviously you can't find things directly). I use dvorak, and the key I had to unbind is ctrl+u, it is pretty useless so I just unbinded ctrl+u to use my extend ctrl and left the problem unsolved.
To unbind ctrl+f/ctrl+u
- press ctrl+shift+p inside vscode
- Search for
Open Keyboard Shortcut (JSON)
(NOT THE DEFAULT ONE) - This is my configuration (I use dvorak so you should insert ctrl+f instead of ctrl+u)
// Place your key bindings in this file to override the defaults
[
{ "key": "ctrl+u", "command": "", "when": "" }
]
Running the extend command on startup
I use a window manager called i3wm, so I just added this line to the end of the file ~/.config/i3/config
exec_always --no-startup-id setxkbmap -v 9 -option "" -option "misc:extend,lv5:caps_switch_lock,compose:menu"
once you do that try to restart the config with $mod+shift+r
and it should apply the changes.
Custom Dvorak programmer linux
Default installation
Linux has the default dvorak programmer layout installed, it can be activated with the command
setxkbmap -layout us -variant dvp
But I use a modified version of it, to replace the default one you need to replace the file /usr/share/X11/xkb/symbols/us
with my custom one. I created a script to do that automatically, just run my script
sudo ./linux/install_custom_dvorak.sh
WARNING: When you run the script the file /usr/share/X11/xkb/symbols/us
will be overwritten, so back it up if you have modified it.
Then to set the layout you can use setxkbmap as I have written below
setxkbmap -layout us -variant dvp
Apply custom dvorak permanently
I used gnome settings:
gnome-control-center
Keyboard > + > English(programmer Dvorak)
- Drag the new language icon to the top (before your default one)
Switch between layouts
If you want a quick way to switch between your layouts, when you add the second layout with gnome you can just press SUPER+SPACE
and it will toggle between the layouts you added.
Apply Gnome settings to i3
I used a fork of the i3-gnome project called i3-gnome-flashback. To use it:
- clone the repo
git clone https://github.com/regolith-linux/i3-gnome-flashback.git
- cd inside the repo folder
cd i3-gnome-flashback
- install some packages:
sudo apt install i3 gnome-flashback build-essential
- build the repo
sudo make install
Now when you log out you should choose GNOME flashback(i3)
project.