I would like to "create" a fn key ( similar to what laptops have ) on a desktop keyboard. What I would like to do is to bind Capslock to a new custom key, so that I can add new shortcuts involving that key. For example, remapping the jkil keys to left/down/top/right keys. So when Capslock + J is pressed, a left arrow keypress is simulated. I cannot bind the capslock key to an existing key like Win/Shift/Ctrl/Alt, because it will cause conflicts in my text editor because of the additional custom functionality I have within it.
2 Answers
You should check out AutoHotKey. It can (obviously) create hotkey remappings, but also do so much more! For your case, it can also remap the right shift, alt, ctrl separately from the left, if you wanted something like RCtrl::j to be mapped to left arrow, leaving the left control key alone...
-
Hello and thank you for your answer. I did check it out before you reply, but I encountered an issue with the CapsLock key in particular. If you bind keys in combination with capslock (eg. Capslock & i:: up), pressing the Capslock key and then I will trigger the described action. Pressing the capslock key, however, at the same time with any other key, will toggle the capslock functionality (it stays on). The only way that I figured out, is to remap the capslock key to another key with something like SharpKeys, but I want to have just one script that handles everything. No multiple software.– wdGelwixFeb 10, 2019 at 11:00
I've achieved something very similar to what you're trying to do using Microsoft PowerToys. PowerToys has a Keyboard Manager utility that allows you to set up global shortcuts like this.
Unfortunately, PowerToys doesn't allow Caps Lock combinations, but I've set up the shortcuts you describe (IJKL as arrow keys) in combination with the Alt key. I realise this doesn't perfectly solve your problem, but I thought it would be worth mentioning for anyone who is happy with, eg. Alt + j as ←