4

I have just recently moved from MS windows to Linux, and it is great; but there is one thing that really bugs me, and that is the use of Ctrl+Alt+key instead of using Alt Gr+key.

When I program, it irritates me that often used buttons like curly-braces and square-brackets are not easily accessed through Ctrl+Alt+key. How do I change the behavior of Ctrl+Alt+key to do the same as Alt Gr+key?

As mentioned earlier, my keyboard has a Danish layout.

Raffael
  • 3,821

4 Answers4

5

You can try xbindkeys

sudo apt-get install xbindkeys

Create the default config file for xbindkeys

xbindkeys --defaults > /home/your-user-name/.xbindkeysrc

Install xbindkeys-config, the GUI for xbindkeys

sudo apt-get install xbindkeys-config
sudo apt-get install xvkbd

Start xbindkeys with Ctrl+F2

xbindkeys

For GUI editor:

xbindkeys-config

Edit the file ~/.xbindkeysrc

Comment commands there that you don't want.

At the end of the file, put the mapping that you want:

Example: Launch Firefox with Ctrl+F

Firefox: Ctrl+F

The first line is the command line operation to send when your desired key combination occurs.

The second line is the keystroke to invoke the operation

To find the syntax for the AltGr key being pressed, you can run the xbindkeys-config utility and click the Get Key button.

Then

""xvkbd -xsendevent -text '[AltGr]'"" Ctrl+Alt

Final note: you can set xbindkeys to launch on startup — in Ubuntu, just go to System -> Preferences -> Startup Applications and add a new command xbindkeys.

Also check this article from our website

Source of article

LnxSlck
  • 12,456
3

Keyboard > Shortcuts > Typing > Alternative Character Keys:

Select f.x. Left Alt

The caveat is that this solution will disable a all OS and GUI shortcuts where Alt is involved ... not good.

But it seems to make perfect sense to use Caps Lock.

Only CHOLERICS need it and it is actually easier to type than Alt or Ctrl+Alt.


On Linux Mint 17.3 there is no option for mapping Caps Lock to AltGr. But I found this solution to work:

https://superuser.com/a/533073/163236

Raffael
  • 3,821
2

You could add global shortcuts to write special chars. I use this often for my German keyboard layout with Ubuntu (on Windows this work out of the box).

I added the following shortcuts:

Shift+Enter+7 to write the letter {

Shift+Enter+0 to write the letter }

Shift+Enter+8 to write the letter [

Shift+Enter+9 to write the letter ]

To add these shortcuts you will need xbindkeys and xvkbd:

sudo apt-get install xbindkeys xvkbd

Then edit the configuration file:

vim ~/.xbindkeysrc

And add the following lines (edit them as you prefer):

"xvkbd -xsendevent -text '{'"
    m:0xc + c:16
    Control+Alt + 7

"xvkbd -xsendevent -text '['"
    m:0xc + c:17
    Control+Alt + 8

"xvkbd -xsendevent -text ']'"
    m:0xc + c:18
    Control+Alt + 9

"xvkbd -xsendevent -text '}'"
    m:0xc + c:19
    Control+Alt + 0

"xvkbd -xsendevent -text '\[backslash]'"
    m:0xc + c:20
    Control+Alt + ssharp

"xvkbd -xsendevent -text '\[asciitilde]'"
    m:0xc + c:35
    Control+Alt + plus

Then reload xbindkeys:

xbindkeys -f ~/.xbindkeysrc

Thanks to whizz for sharing this (http://forum.ubuntuusers.de/topic/strg-%2B-alt-alt-gr-wie-in-windows/).

This is a copy of my answer on unix.stackexchange.com: https://unix.stackexchange.com/a/184886/103140

cheneym
  • 121
0

After trying and failing to get it to work with a combination of xbindkeys and xvkbd/xte (I could never get certain characters {, [, ], }, \, etc. to behave properly, perhaps because I use a Scandinavian keyboard layout), I finally found a simple and practical solution: Autokey. Here are the exact instructions to get it working:

  1. Install Autokey through Ubuntu Software (I used the GTK-version, not KDE) or by:

    sudo apt-get install autokey-gtk
    
  2. Configure one script per key, e.g. for { use this code: keyboard.send_keys("<alt_gr>+7") and set the hotkey to Ctrl+Alt+7 (first set hotkey to 7 then add Ctrl and Alt as modifiers). This at least worked for the most important code-writing keys: { [ ] } \.

  3. Add autokey to Startup Applications (search for “start” to find it) and then add a program with “autokey” as the command.

This solution will work for anything running in the current X-session (I think) but will not work if you start a new terminal session using Ctrl+Alt+(F2-F6).

derHugo
  • 3,376
  • 5
  • 34
  • 52