Skip to content

Instantly share code, notes, and snippets.

@dreua
Last active December 20, 2022 18:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dreua/2520359142a9cc4dd486321d84156422 to your computer and use it in GitHub Desktop.
Save dreua/2520359142a9cc4dd486321d84156422 to your computer and use it in GitHub Desktop.
On German keyboards, typing the brackets and braces like {[]} is quite annyoing (especialy when programming) so I remapped them to AltGr+asdf which is much better imo. This is tested on Fedora Linux but it should work on most Linuxes.
# Save this file as /usr/share/X11/xkb/symbols/asdfbrackets
# Thanks to: BRPocock's answer at
# https://ask.fedoraproject.org/en/question/73014/how-to-assign-ctrl-up-to-home-ctrl-down-to-end-ctrl-left-to-page-up-and-ctrl-right-to-page-down/?answer=73021#post-id-73021
partial alphanumeric_keys
xkb_symbols "asdfbrackets" {
name[Group1]="brackets on AltGr+asdf";
key <AC01> { [ a, A, braceleft, AE ] };
key <AC02> { [ s, S, bracketleft, U1E9E ] };
key <AC03> { [ d, D, bracketright, ETH ] };
key <AC04> { [ f, F, braceright, ordfeminine ] };
};
# Usage:
# Run as user:
# setxkbmap -v
# Append +asdfbrackets to symbols, for example:
# setxkbmap -v -symbols 'pc+de+us:2+inet(evdev)+asdfbrackets'
# For simplicity and because I am starting bash by default, I just added this to my .bashrc:
# setxkbmap -v -symbols 'pc+de+us:2+inet(evdev)+asdfbrackets' > /dev/null
# However, there is a better solution given in the linke above.
@dreua
Copy link
Author

dreua commented Jun 9, 2022

Update - Nowadays I use this as follows:

  • go to /usr/share/X11/xkb/symbols/
  • sudo git init, add, commit (so you keep track of what you are changing and are able to roll back / cherry-pick in case an updated overwrites your changes)
  • Add the four lines directly to the layout you are using. For me this is the file de at the end of section xkb_symbols "nodeadkeys". For programmers I'd recommend the nodeadkeys-layout combined with a compose key, if you need anything like á just type: Compose (e.g. Scroll Lock), ´, a. The ``` as commonly used in markdown becomes much quicker to type. And this enables you to type stuff like ë or ♯♪ as well.

@dreua
Copy link
Author

dreua commented Jun 9, 2022

sudo git diff HEAD~1
diff --git a/de b/de
index b3c7ee6..e3ed004 100644
--- a/de
+++ b/de
@@ -65,6 +65,15 @@ xkb_symbols "nodeadkeys" {
     key <AC10> { [ odiaeresis, Odiaeresis,          doubleacute, doubleacute ] };
     key <AC11> { [ adiaeresis, Adiaeresis,          asciicircum, asciicircum ] };
     key <BKSL> { [ numbersign, apostrophe, rightsinglequotemark,       grave ] };
+
+    //// CUSTOMIZATION for my personal use - make AltGr+ASDF become {[]}
+    
+    key <AC01> { [         a,          A,    braceleft,          AE ] };
+    key <AC02>  { [         s,          S,  bracketleft,       U1E9E ] };
+    key <AC03> { [         d,          D, bracketright,         ETH ] };
+    key <AC04> { [         f,          F,   braceright, ordfeminine ] };
+    
+    //// END CUSTOMIZATION
 };

@dreua
Copy link
Author

dreua commented Dec 20, 2022

After changing the keymap there is no need to logout, just run setxkbmap without arguments should work 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment