views:

2222

answers:

5

I want my AltGr key to behave exactly like left Alt.
Usually, I do this kind of stuff with Autohotkey, but I'm open to different solutions.

I tried this:

LControl & RAlt::Alt

And Autohotkey displayed error about "Alt" not being recognized action.
Then I tried the following code:

LControl & RAlt::
  Send {Alt down}
  KeyWait LCtrl
  KeyWait Ralt
  Send {Alt up}
return

which sort of works - I'm able to use the AltGr key for accessing hotkeys, but it still behaves differently:
When I press and release the Left Alt, the first menu item in the current program receives focus.
Pressing and releasing AltGr with this script does nothing.

Any ideas? Is this even possible with Autohotkey? (remapping right Ctrl and Shift to their left siblings was piece of cake)


Note: I tried switching "Alt" to "LAlt" in the code and it made no difference.

A: 

In AHK, Can you do:

LControl & RAlt::!

Or

<^>!::!
Brian Schmitt
Sorry, but it does not work for me. The first examples returns the "not recognized action" error and the second one does nothing at all. Of course, it is possible that something is wrong with my setup. Did it work on your side?
Tomas Sedovic
I don't have the key, but looking in the AHK documentation showed this that the <^>! is the symbol for AltGr.Right Click TrayIcon-->Help-->Hotkeys
Brian Schmitt
+1  A: 

I got a decent behavior by combining two hotkeys:

LControl & RAlt::Send {Alt}
RAlt::Alt

The first one is for the standalone keypress (avoid to hold it down...), the second one to be used as combination (Alt+F, etc.).
It isn't perfect, you can't do a combination like Ctrl+Alt+T, but perhaps it is enough for your needs.

Note that you can do a permanent remapping using the registry. See this forum post for an example. Not sure that it applies to compound keys like this one, but I thought I should mention it...

PhiLho
+2  A: 

As pointed out by PhiLho, Windows provides a way to remap any key, through the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout. A basic overview can be found at Scan Code Mapper for Windows. A better description is probably Answers to Scancode Mapping or Changing Key Values.

I'm using this approach to put the Windows Key on the Caps Lock, because my keyboard doesn't have a Windows Key and I don't need the Caps Lock.

Ronald Blaschke
+3  A: 
Tomas Sedovic
A: 

This is an old question, but for anyone still looking this worked for me:

LControl & *RAlt::Send {LAlt Down}
LControl & *RAlt Up::Send {LAlt Up}

And this for mapping it to the Windows key:

LControl & *RAlt::Send {LWin Down}
LControl & *RAlt Up::Send {LWin Up}
Dave Miller