This is killing me. I managed to get Brothers: A Tale of Two Sons up and running. (It's not officially supported, but works in the same bottle that I installed for The Vanishing of Ethan Carter, probably because the games have a lot of the same required software packages). It runs smooth and everything is great except that both left and right shift on my keyboard (which are used to rotate the camera left and right on the game) perform the left shift function of rotate the camera left. This, I presume, is because macs do not normally distinguish between left and right shift. Okay, no big deal, in most cases the camera adjusts to where it needs to be automatically, and I can always snap it all the way around if I need to. Certainly doesn't make the game unplayable.
EXCEPT just a little while in to the game when you reach a certain area and a overlay appears on screen "helpfully" explaining the left shift and right shift controls. I press left shift, and the picture of the key disappears. However, the overlay will not go away and let me continue playing, apparently, until I have tried pushing both buttons. So I need some way to transmit the right shift button function to the game, at least once to get past this prompt, if not on an ordinary basis. OR some other way to clear the prompt if anyone knows anything about the game.
Help, please?! It sucks, because the game is running perfectly apart from this.
Edit: All good now. Opened the launcher from Steam and remapped the keys. I didn't think the game had the option to remap keys since it wasn't available from the in game menu. Sorry for such a stupid question.
My retina MBP distinguishes between left and right at least on the hardware side - on Linux they produce different symbols. Still, if you have a PC keyboard around it's probably worth to try to attach it to your mac.
Other than that you could try to run the game through our old X11 graphics backend with our builtin X server. It may be a bug in CrossOver that we merge those together. If that's the case then maybe you're lucky with a different codepath.
The last resort I can imagine is to run AutoHotKey in the same bottle to inject a left / right shift press via a script while the game is running...
Thank you for taking the time to reply, anyway. Yes, I have a good workaround for this particular game, thank goodness. But it still does not address the underlying issue that others may still have with other games/software that require a distinction between left and right shift.
My Macbook can differentiate between left and right shift on the hardware side, as you stated. In fact, I use Karabiner to remap some keys and it is able to remap the left and right shift keys separately. However, I tried remapping other keys to "Shift_r" in Karabiner and Crossover/Steam/Brothers still recognized it as a left shift key press.
Also I do use a Dell keyboard, but the result was the same both with the Dell keyboard and the internal keyboard.
It should work. The Mac driver distinguishes between the left and right Shift keys, assuming the hardware and driver pass along the distinction.
I just double-checked. I ran the built-in Notepad program with logging enabled and the +key logging channel. When I press the left Shift key, it gets mapped to the Windows virtual key code VK_LSHIFT (0xA0) and scan code 0x2A. When I press the right Shift key, it gets mapped to the virtual key code VK_RSHIFT (0xA1) and scan code 0x36. This is with a full-size, wired Apple keyboard.
I'm not sure why it wouldn't work in your game. You can run that same test using Notepad with +key logging to see if the hardware and driver is passing along the distinction. If the log shows the distinction, then we'll have to investigate further exactly what the game is doing and why the distinction is getting lost.
Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.
CrossOver Forums: the place to discuss running Windows applications on Mac and Linux
CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.