Copy link to clipboard
Copied
Noticed a strange behavior in CS5, namely, that when I use Alt+MouseWheel to zoom, the image zooms as expected, however the File menu is activated. I have to release and then quickly press Alt again AFTER zooming in order to return the focus to my image.
I fired up CS4 to check (as I did not remember this issue previously), and confirmed that CS4 does NOT activate the File menu when scrolling using the Alt+MouseWheel method. This is a rather annoying trait, and has in fact driven me to use CS4 except when I need to use some CS5-specific feature.
Is this a glitch/bug? Or by design? If it is the former, a fix would be greatly appreciated, in the meantime I will continue to rely on CS4 when dealing with projects involving heavy zooming.
Copy link to clipboard
Copied
The issue is that the Alt key is invoking keyboard accessibility features (namely, prepping the system to take another character to select a menu).
And yes, it's been noticed before, and I for one consider Photoshop CS5 slightly less integrated with Windows because of it. Fortunately, I personally have not become used to using the Alt key as a modifier for general operations.
Your only workaround at present might be to try to retrain yourself to use the Photoshop interface a little differently (e.g., set the preference to have zooming be the default scroll wheel operation, or learn to select the zoom tool).
You might want to report it to Adobe here: https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform
-Noel
Copy link to clipboard
Copied
Figured as much, just quite disappointed at this flaw that seems to have been introduced. Yeah, I'll probably have to end up re-learning it, but I do a lot of touchup for catalogs and such, using portrait-oriented photos, so the vertical scroll & zoom both on the mousewheel is very handy. I have turned in a bug report. Would really like to see Adobe get on top of this.
Copy link to clipboard
Copied
I discovered a temporary fix. This has only been tested on Windows XP SP3. Apparently Photoshop CS5 has an issue with the physical Alt+MouseWheel, however a workaround can be executed by blocking the actual input and re-sending the Alt+MouseWheel signal using virtual keycodes. Since this is non-destructive (the input received is simply re-sent), its a safe redirection, and should not only fix the CS5 bug, but also be compatible with just about any other program you may run, without the need to start and stop it constantly.
Here's how I did it, hopefully it helps somebody else (and hopefully Adobe fixes this soon):
Hopefully somebody finds this useful, even if a bit cumbersome. Adobe, please fix this soon!
Copy link to clipboard
Copied
I tried your Autohotkey script and got a really weird result. It works fine if I use the right alt key.However, if I use the left alt key then zooming is dependent on the speed at which I turn the scrollwheel. If I turn it fast enough it will zoom, but if I turn it too slowly it scrolls instead. Again, this doesn't happen with the script enable and holding down the right alt key where the behaviour is correct and no longer triggers the menu.
I've tried limiting the hotkey to the left alt in a number of ways but nothing fixes it.
Can you confirm if you see or don't see the same issue?
Thanks.
Copy link to clipboard
Copied
@TMagritte: I just tested and on my machine it works equally well with either Alt key. What keyboard layout and version of Windows are you using?
UPDATE: Just updated to 12.0.1 and re-tested, still works fine with either Alt key.
Copy link to clipboard
Copied
Actually, I use Autohotkey for other hotkeys and it looks like something else is interfering. If I disable my usual autohotkey scripts and run one that only includes the 2 hotkeys you suggested it does work fine using either alt button. So I guess I'll just have to troubleshoot my full script to figure out where the conflict is.
Thanks for your help!
Copy link to clipboard
Copied
The AutoHotkey script worked for me, thanks for that workaround. It doesn't seem to create any issues with any other program so I've made a shortcut to the script in my Startup folder so I don't have to think about it anymore. I'd still really like Adobe to fix this though. Its clearly possible, as CS4 did it fine.
Copy link to clipboard
Copied
thanks Unsigned Code Lab u r genuis : ) worked for me (windows 7 x64)
Copy link to clipboard
Copied
Glad I could help!
Copy link to clipboard
Copied
I've created a compiled, standalone version of the script for those who do not wish to (or cannot) install AutoHotkey. The download is a ZIP file, and includes the compiled executable as well as the script source.
[note by Moderator: use this link: http://sourceforge.net/projects/cs5altfix/ as the others have expired]
fix_cs5_scrollbug.zip (expired link)
Copy link to clipboard
Copied
Excellent work Unsigned Code Lab. I'd like to try AHK at some point, but too lazy/busy now so just used your standalone exe and it worked great!
I'm a little confused on how it actually works... i.e. "re-sending" the same command... seems like circular logic to me. But it does indeed work great for me too (w7 x64).
Pretty disappointing a glaring problem like this could slip through beta testing. I found it within my first 3 hours using the software... how could test users not find it as well?
Copy link to clipboard
Copied
Thanks! Glad you found it useful.
On how the fix works:
The Alt key is normally used as a menu-selection key. When it is pressed and later released, it normally selects a menu item on the active window. In order to prevent the menu from being activated when Alt is used with the Mouse Wheel, CS5 would need to "trap" the Alt keystroke, and inform Windows that it is already handled. Instead, it appears to acknowledge the keystate (hence the zoom works the first time), but instead of marking the key "handled," the Alt code is still passed through to the Windows GUI handler, which then activates the File menu.
Windows applications have several different methods available for polling the keyboard state, with each one having slightly different 'rules' for how a "held-down-key" is reported, or whether "key-up"s are reported, or how a PHYSICAL keycode is reported, as opposed to a VIRTUAL keycode.
Apparently, the method used by CS5's GUI does not properly integrate PHYSICAL keystrokes with the Mouse Wheel polling, therefore leaving random "untrapped" Alt keystrokes.
By "trapping" the PHYSICAL keystrokes with AHK, and re-sending them as VIRTUAL keystrokes, we can work around this limitation, as CS5 handles the virtual keystrokes without a problem.
I also am disappointed, this is a very major GUI issue, and I cannot understand how it slipped past quality control. I am also disappointed that the 12.0.1 update did not fix this. I guess there's always 12.0.2.....
Copy link to clipboard
Copied
It does seem kind of odd that they had this figured out and working in prior versions, and now it's broken...
Is it possible Adobe "fixed" a problem with the Alt key not activating menus reported by people who want to access Photoshop menus with keyboard shortcuts (e.g., Alt-F-O for File Open)? If so, we should have hoped to see a configuration entry to govern the change in key response behavior.
It's helpful to keep in mind that Adobe's UI code compiles to run in both Windows and OSX (I'm sure some of it is conditional and/or from different files, but apparently quite a lot of it is common). Perhaps a fix for something unrelated on the "other side" broke this for Windows users.
-Noel
Copy link to clipboard
Copied
I would like to completely disable the alt menu functionality in Photoshop. I do not use it and find it very annoy when I am doing on serious cloning work.
Is there away I can use this AutoHotKey program to disable the alt menu in PS? It seems like it can but I am not familiar with the program. I made another posting on the forums because I was unaware there was a similar topic already.
http://forums.adobe.com/message/3094650#3094650
Copy link to clipboard
Copied
@Xeon64:
I've written another script that traps all such "Alt Key Up" codes in Photoshop and re-sends the equivalent Virtual keystroke.
I've tested this extensively and it should work.
As a 'side-effect' of this script, you will also get the effect of my previous fix (scrolling with Alt+MouseWheel will not trigger the menubar).
Pressing Alt by itself should now leave the menubar unactivated.
However, you can still use combos, for example, Alt+F will still open the File menu.
You can download either fix here, use ONLY the one you want:
[Note by moderator: use this link: http://sourceforge.net/projects/cs5altfix/ as others have expired]
Full source for both is included in the zips.
By the way Xeon, I actually like your idea, and am using the new (second) fix myself, on my Photoshop machine. I never use Photoshop without a mouse either, and it is (was?) an annoying 'feature'.
Technical info:
Windows itself actually responds differently to physical vs. virtual keystrokes. Since the Alt shortcut is a standard Windows GUI feature, trapping the physical "Alt Up" signal does the trick in this case. Basically instead of just trapping Alt when using the mouse wheel, we are trapping every Alt press.
Because this is a much more generic keyboard trap, I have configured it to operate ONLY when Photoshop is the foreground window. Otherwise, pressing and releasing the Alt key would have no effect on the menubar in ANY application.
Copy link to clipboard
Copied
Interesting solution. Seems to work. Thanks!
If you have a spare minute (and a compatible mouse) I was wondering if you could try adding these:
XButton2 & Wheelup:: ; Zoom in
send !{Wheelup}
return
XButton2 & Wheeldown:: ; zoom Out
send !{Wheeldown}
return
The idea being I can zoom in and out from the mouse without using the keyboard. Not really a big deal but on my system I find it just scrolls unless I move the wheel really fast. I'm wondering if it's something to do with my system or if you see the same behaviour.
Thanks!
Copy link to clipboard
Copied
@TMagritte:
I am confused as to the meaning of your post. I can see the value of being able to scroll using just the mouse, but I am not sure I understand what you mean by "on my system I find it just scrolls unless I move the wheel really fast".
That said, I have never had an issue with the zooming speed while using the Alt+MouseWheel (in any Photoshop version).
Copy link to clipboard
Copied
What I mean is adding the following code to the autohotkey script for photoshop:
XButton2 & Wheelup:: ; Zoom in
send !{Wheelup}
return
XButton2 & Wheeldown:: ; zoom Out
send !{Wheeldown}
return
These hotkeys should launch when you hold down the XButton2 (browser forward button) on the mouse while turning the scrollwheel (rather than just turning the scrollwheel). The expected result is that instead of scrolling it should send an alt+scroll command which should result in zooming instead.
However, on my system when I hold down the forward button and turn the scrollwheel 1 or 2 ticks it behaves as if the button isn't held down (just scrolls normally). If I hold down the forward button and turn the wheel really quickly then it zooms as expected.
What I'm wondering is if this behaviour is unique to my system (I have quite a few autohotkey actions defined which may not all coexist peacefully) or if it has something more fundamental to do with the way Photoshop is seeing the alt key and mouse actions.
Thanks again!
Copy link to clipboard
Copied
@TMagritte: I think it may indeed be a hotkey conflict local to your machine, as I do not experience this issue when using your script to scroll with the mouse.
Copy link to clipboard
Copied
Thank for the help. However the script is not working for me. I ran both the exe file and the tried the script with AutoHotkey. When I go into PS and hit alt the menu still activates and works with the letters underlined.
I am running. PS CS5 Version 12.0.1 64 bit and 32 bit on a Windows 7 64 bit ultimate.
This feature annoys me so much and is something that I have never been able to adjust to. It is just one of the many reasons I am considering a platform shift.
Copy link to clipboard
Copied
Xeon64 wrote:
Thank for the help. However the script is not working for me. I ran both the exe file and the tried the script with AutoHotkey. When I go into PS and hit alt the menu still activates and works with the letters underlined.
Likewise, I tried it and found it to activate the menus as well.
-Noel
Copy link to clipboard
Copied
Hmmm, sorry about that.
What version of Windows are you using, Noel?
I will do some more testing and get back to you on this.
Copy link to clipboard
Copied
Don't be sorry! You're doing everyone a great service in pursuing developing this!
I have Windows 7 x64 Ultimate, and I tested with Photoshop CS5 x64.
Just to make sure we're on the same page, Here's the sequence I went through:
1. I ran your no_photoshop_alt_menubar.exe, and verified it was resident with the Processes view in Task Manager.
2. I started Photoshop x64.
3. I pressed the Alt key and saw that the menus were still being activated.
4. I terminated the no_photoshop_alt_menubar.exe process.
-Noel
Copy link to clipboard
Copied
@Noel: I have a suspicion that Windows 7 may be responsible, as it continues to work fine on my other Windows computers. Since I don't have a Windows 7 machine on hand at the moment, this will make things slightly difficult. I will do a little research and see what I can come up with.