I was asking whether you would lose any Alt keys if you use your code as is(FnKey=SC05C). I was curious because SC05C was meant to be an Alt key under 'alternate' mode.
Also, I found something weird today. I am using Left Win key as Ext key and when I press LWin combination Left control down and up events register. For example, if I press LWin+k, which is mapped to Down, I see the following events in the key history. Please note that I didn't press any of control keys.
5B 15B u 0.00 LWin
5B 15B d 24.68 LWin
5B 15B d 0.25 LWin
5B 15B d 0.03 LWin
A2 01D i d 0.03 LControl
A2 01D i u 0.00 LControl
5B 15B i u 0.00 LWin
73 03E i d 0.00 F4
73 03E i u 0.00 F4
It works most of the time, but it acts strangely when an application takes single control press as an input. e.g. Chrome for instance on the address bar while browsing drop down list. I think this is a bug in Autohotkey. It happens when I use LWin or LAlt as Fn key, but doesn't happen if I use LShift or CapsLock.
Do you have experience in resolving this issue?
BTW, Thanks for the script. I am loving it. I made 3 layers modifying your code. I created 3 layers using LWin, CapsLock, and RCtrl as respective Fn key. If you are interested, you can find the code along with the layout image at
http://www.kbdmania.net/xe/3481674. The webpage is in Korean but the image and ahk file is in English.
You can change the line:
FnKey=SC05C
to one of the following:
FnKey=LControl
FnKey=RControl
FnKey=LAlt
FnKey=RAlt
FnKey=LShift
FnKey=RShift
The script will still allow use of Alt/Ctrl/Shift on the opposite side to the one used as the extend/FnKey.
But be warned that the right-hand Alt is odd - it can be seen as Ctrl-left Alt, causing odd things to happen.
You can also comment out any lines for functions you don't want. For example, if you don't want Ext. F to work as F8, add a semicolon to the start of the line:
Hotkey, %FnKey% & SC021, Fn_F8 ; F key
You can then use Alt-F for the file menu, using either Alt key, even if an Alt key is defined as extend/FnKey.