3

If anyone knows how to disable/override the functionality in Windows of the Shift key temporarily invalidating the Numlock status so that the numpad 0-9 keys output as other keys (insert, end, down, page down, left, clear, right, home, up, page up), I would gladly pay for the solution to this problem.

Reason: I have an app (Reaper) that I use on both Mac and PC, and numerous shortcuts I have assigned in the app on the Mac simply won't work on PC, such as Shift and any Numpad numeric key (alone, or in combination with any other modifier key). The Mac is phenomenally better at using modifier keys for shortcuts in applications than the PC (with all of it's hard-coded win+key shortcuts, among others).

I'm forced to use a PC at work, which has been the source of countless hours of pain, torment, and frustration. But this little nightmare really takes the cake. It has been plaguing me for the past 2.5 years. I am at my wits end. I have probably spent days (even weeks, maybe) of my life trying numerous potential solutions to this problem already including AutoHotkey, EventGhost, and Pulover's Macro Creator. But none of them seem to be capable of allowing Shift+Numpad 0-9 functionality (or Ctrl+Alt+Shift, Alt+Shift, Ctrl+Win+Shift, etc.) through to Reaper (or any other app, for that matter). The Shift key either changes the Numpad key output as described above, or when used in combination with other modifiers, the Shift key is removed as a modifier, so only the other modifier keys are recognized in combination with the Numpad 0-9 keys.

I really need to find a way to use all of my Shift (and any other modifiers) plus Numpad 0-9 shortcuts on the PC. I am sincerely hoping that someone has found a solution for this horrifically frustrating problem.

Edit: Just to be perfectly clear, I'm not looking for/interested in workarounds for this problem. I'm hoping to find an actual solution that will remove the "Shift key temporarily overrides Numlock" functionality on a Windows PC - even if it requires a BIOS or registry hack, modifying some Windows system file/s, or using additional software to accomplish it. This is the solution I'm interested in and would pay to have. I want to be able to actually send shift+numpad(0-9) shortcuts to apps on the PC the way I can using a Mac. Thank you for any help anyone can provide in figuring out how to accomplish this!

Edit2: The following AHK script works, but the annoying Windows OS "feature" of converting Shift+Numpad(0-9) to Numpad(Ins-PgUp) is still screwing up the output - despite the fact that the shortcut is coming from AHK instead of physical keyboard input:

#If winActive("ahk_exe reaper.exe") 

+numpadEnd::
    send +{numpad1}
return

Using the AHK script, single keypress of Shift+NumpadEnd, Numlock OFF:

A0  02A     d   1.45    LShift
23  04F h   d   0.22    NumpadEnd
61  04F i   d   0.00    Numpad1
61  04F i   u   0.01    Numpad1
23  04F s   u   0.08    NumpadEnd
A0  02A     u   0.16    LShift

Without the AHK script, single keypress of Shift+NumpadEnd, Numlock OFF:

A0  02A     d   0.74    LShift
23  04F     d   0.22    NumpadEnd
23  04F     u   0.11    NumpadEnd
A0  02A     u   0.20    LShift

Either way, however, REAPER still sees the same shortcut pressed: Shift+End - NOT Shift+NumpadEnd. So the Shift+Numpad shortcuts will still conflict with other shortcuts I have bound using the regular home/end, PgUp/Down, arrow keys, and Insert.

So unfortunately, after repeated testing, this is still not a solution to the problem of needing to disable the annoying Windows OS functionality of converting Shift+Numpad(0-9) to the corresponding navigation keys (i.e. Shift overriding Numlock).

MikMak
  • 2,047
  • 2
  • 13
  • 19
  • I don't know if it's possible. But why not just turn off Numlock and define shortcuts like e.g. Shift + NumpadLeft instead of Shift + Numpad4? Does this solve your problem? – Mikhail V Oct 21 '20 at 21:00
  • So FYI, if the NumLock is off then the num keys emit different events, i.e. NumpadLeft, NumpadRight, etc. So you can definitely use this to overcome the limitations of your software. Even if you can't define these in the software directly, then you can use Autohotkey to alias these to some other unused combos. – Mikhail V Oct 21 '20 at 21:17
  • The trouble is I have so many shortcuts that there aren't that many unused combos left, and I need to keep the shortcuts in sync between my Mac and PC. And in Reaper, the NumpadLeft is seen as the same key as regular Left. Same goes for the rest of the Numpad navigation keys. And also, I have a variety of other actions bound to Shift+Left/Right/Up/Down/PgUp/PgDn/Home/End and other modifier combinations. We're talking about 6 years of customizing scripts, macros, and other actions. The list is extensive. I'm running out of reasonable keystroke combos to use. – MikMak Oct 22 '20 at 11:59
  • I see, but actually I gave an example how to easily overcome this - in Reaper you can create a shortcuts that is unused, like say Shift+Alt+Ctrl+P or whatever is not in use. Then write AHK script that binds Shift+NumpadLeft to Shift+Alt+Ctrl+P. Problem solved. Yes this is not portable to Mac but still working solution. – Mikhail V Oct 22 '20 at 12:25
  • @Mikhail again, that's the problem. I have Shift+Alt+Ctrl+P bound to something else. I'm fact, I have every letter and standard number key bound to an action - both in combination with various modifiers and without - as well as all of the F1-F12 keys, and most of the symbol keys (,./\;[] etc). And without functional shift+Numpad0-9 functionality like I have on the Mac, that's 70 shortcuts I can't use on PC (7 combinations of Shift+Numpad numeric key and the other 3 modifiers (Ctrl, Win, Alt) x10 numpad numeric keys) – MikMak Oct 23 '20 at 12:21
  • I have Reaper v6.15, Windows 10. I can't see any conflict by my side. I've even made "Shift+End","End" commands and everything works fine with the method I've described, also worked for me in Notepad++. Though I don't have those extra "Numpad1" events if I check in AHK key logger so maybe its some keyboard issue, idk. And no, I don't think you can disable this Windows behavior globally. – Mikhail V Oct 26 '20 at 19:13
  • a correction - the AHK log by me is the same as yours (I just forgot to focus Reaper window) so the events are correct. So frankly, IDK, all works for me. – Mikhail V Oct 26 '20 at 19:53
  • BTW I'd suggest Autohotkey forum with this question, you'll probably get more feedback with this. – Mikhail V Oct 27 '20 at 13:23
  • Thanks again, Mikhail V! I have a thread going on the AHK forum as well, but it seems to have gone cold. It is really odd, though, that you have the same Windows OS and Reaper version as me, yet this works for you. Are you actually able to get all of the following working in Reaper and assigned to actions as different shortcuts? Shift+NumpadEnd, Shift+Numpad1, and Shift+End (the normal End key, not the numpad version). If so, please let me know the make/model keyboard and driver you're using, which version of Win10, and share the script and keycode capture from AHK for each of those shortcuts. – MikMak Oct 29 '20 at 01:39
  • ok, see the update – Mikhail V Oct 29 '20 at 22:21
  • I have this problem a well, it's maddening... I wanted to use shift with some numpad hotkeys and was going nuts trying to figure out why they just wouldn't work! Did you ever manage to solve this, for real? – JVC Feb 16 '22 at 16:34
  • Unfortunately, no. I have since moved and changed jobs and no longer use a PC to run REAPER. I don't think windows OS is capable of recognizing or sending shift+numpad(0-9) to apps. And shift+numpad(Ins-End) are recognized the same as using the standard arrow keys or home/end/pgUp/pgDn keys. If I were still stuck with this problem, I'd probably solve it by installing macOS on my PC (making it a "hackintosh") and running REAPER from there. Here's some info on that in case you're interested. https://www.macworld.co.uk/how-to/install-macos-pc-3632329/ – MikMak Feb 17 '22 at 03:29
  • well you helped me at least. I turned numlock off and used AHK to remap NumpadLeft etc to just numbers 1-9. now i get shift and numpad buttons to produce something at least. not a solution for you but thank you. – rocketsarefast Mar 05 '23 at 18:40

1 Answers1

0

As a workaround, you can utilize numpad keys with NumLock off and an Autohotkey script that redefines the shortcut for your software. When NumLock is off, numpad keys are not affected by Shift.

Update:

In Reaper the problem is, that when you define a combo by a keypress via GUI setup, you cannot input Shift + Num keys combos. But I've found out you can import/export shortcuts config file. "Key map..." -> "Export shortcut key map..." will export a text file which can be edited and then imported back. There you can define combos including Shift key and num keys.
E.g. I add 2 shortcuts:

"Shift+Num 1" for the "Zoom out horizontal" command
"Shift+End" for the "Zoom in horizontal" command

The second command just to check if it conflicts with the first combo or not. So I create a text file "test.ReaperKeyMap" with corresponding definitions:

KEY 5 97 1011 0
KEY 5 32803 1012 0

And import this file in the key mapper.

And now to make the "Shift+Num1" combo work, use this AHK script:

#If winActive("ahk_exe reaper.exe") 

+numpadEnd::
    send +{numpad1}
return

With NumLock off, this will run "Zoom out horizontal" command. With this approach you should be able to use all other combinations of Shift, Alt-Shift, etc. and Num keys without occupying other key combos.

Tested with Reaper v 6.15 on Windows 10 pro 64bit, v.1909 All these USB keyboards worked:

  • A4tech X7 G800V
  • Acer KU0906 (101-key, has Numpad on main section via Fn-key)
  • Logitech K120

AHK history (Numlock off):

A0  02A     d   1.05    LShift          [unsaved project] - REAPER v6.15/x64 - EVALUATION LICENSE
23  04F h   d   0.17    NumpadEnd       
61  04F i   d   0.00    Numpad1         
61  04F i   u   0.00    Numpad1         
23  04F s   u   0.08    NumpadEnd       
A0  02A     u   0.30    LShift     
Mikhail V
  • 973
  • 5
  • 13
  • Thank you again for your response! But again, the problem with this workaround is with not having enough free shortcut combinations left to assign in REAPER without being able to use the numeric keypad keys including the shift modifier. – MikMak Oct 23 '20 at 12:40
  • Also, the reduced visibility of what shortcut an action is actually mapped to when viewing it in the actions list (for times when I can't remember how to trigger a desired shortcut) when using random available shortcut mappings in REAPER for Numpad key remappings via AHK would be very unweildy to keep track of and manage without constantly looking back at the AHK script after finding them in the actions list in order to find what Numpad hotkey combo a shortcut was actually mapped to, which would basically negate the time-saving functionality of using shortcuts in the first place. – MikMak Oct 23 '20 at 12:42
  • @MikMak hmm. The part of the problem is with Reaper (just tested it out of curiosity) is that it cannot receive Shift+Num keys when I want to define combo in Properties. But it seems you can define combos with num keys manually includind Shift in config file using scancodes, and it does work it seems. I will update my answer with an example. So I guess you are lucky :-) – Mikhail V Oct 23 '20 at 18:20
  • @MikMak So yep, I had success with it, it works. – Mikhail V Oct 23 '20 at 18:45
  • Thanks! Unfortunately, this still doesn't work properly. Half the time REAPER sees the shortcut without the Shift key modifier (just Numpad0-9), which I have set to trigger other actions. During this process, however, I did discover that the NumPad numeric key codes are different between Mac and PC. e.g. Numpad9 on Mac is 33, and on PC it's 105. – MikMak Oct 26 '20 at 10:30
  • Also, with NumLock ON, I get intermittent Shift+Numpad0-9 and Numpad0-9 (without the Shift modifier). With NumLock OFF, I get Shift+up/down/left/right/PageUp/PageDown/Home/End/Insert/Clear - NOT the NumPad version of the keys, just the regular keyboard version. Neither my text editor (when using without the #IfWindowActive) or REAPER are seeing the Shift+Numpad0-9 at all when NumLock is off. It seems as if the AHK script to remap Shift+NumpadIns-NumpadPgUp to Shift+Numpad0-9 just isn't working at all. – MikMak Oct 26 '20 at 10:50
  • I updated my question (Edit2) based on the most recent answer update. I'm not sure how you are able to get this working for you. I am on Windows 10 Enterprise on a Dell laptop. I'm testing NumPad shortcuts using both the On-Screen Keyboard app, as well as with a physical keyboard with Numpad connected directly to the laptop via USB. REAPER version is 6.15/x64. I am still unable to use Shift+Numpad keys to input Shift+Numpad(0-9) shortcuts to REAPER. – MikMak Oct 26 '20 at 13:08