Monday, 15 April 2019
  4 Replies
  3.2K Visits
  Subscribe
Home and End keys by default don't do anything on OSX. Instead, OSX uses CMD+Left and CMD+Right. For this reason, I assigned CMD+Left and CMD+Right in my blue layer where the Home and End keys are. By themselves, they seem to work correctly, but if I press Shift (set as Shift both) and one of those keys, the Shift seems to be ignored, resulting in a plain CMD+Left or CMD+Right being issued. This prevents me from doing operations like Select from cursor to beginning / end of line which are rather handy when coding. I cannot seem to figure out another way to achieve this without assigning extra buttons for these operations, which goes both against muscle memory, and the point of having modifier keys in the first place.
3 years ago
·
#1641
Accepted Answer
@Andri Thanks for the additional details. I did some testing, and hopefully this is a solution. In the KeyMouse Software, when you right click on a key and go to "Key Combinations" screen, there are 2 options for how the modifiers behave ("Normal" and "Hold until Key is Released". Choose "Hold until Key is Released". For key combinations, it keeps all keys down until you specifically release them. I did a little testing on my computer and I think it will do what you want.
Attachments (1)
3 years ago
·
#1639
Hi Andri,
Is this in Webstorm, or other applications on Mac? For me, Webstorm seems to behave fine for Shift+Home & Shift+End, but many other programs don't (until applying the solution below). I personally leave my Home/End as actual Home/End keys and them re-map them globally, or on a per-program basis using "Keyboard Maestro" (specific for Mac).

I toggle between Windows & Mac a lot, so "Keyboard Maestro" is handy to make the hotkeys for programs work as similar as possible. It actually helps a lot for this. I have Global Macros that intercept:
End -> CMD+Right Arrow
Home -> CMD+Left Arrow
Shift+Home -> CMD+Shift+Left Arrow
Shift+End -> CMD+Shift+Right Arrow
CTRL+Home -> CMD+Up Arrow
CTRL+End -> CMD+Down Arrow

You can make exceptions on a per-program basis as well. If you're interested I can export my settings.
3 years ago
·
#1640
Heber, I am using the default keybindings in PhpStorm, where Home and End are not configured. The issue however is with how KeyMouse seems to ignore modifiers if a modifier already is set in a key. Whether I use Shift or Shift(both), in my case does not seem to make a difference. The same is also happening in other programs, so it's not an IntelliJ issue,

If I open up the keyboard viewer and do the following:

hold fn blue
hold shift
hold command
press left

I see that the shift and cmd buttons remain highlighted before and after pressing left. The selection happens as it should.

If, however, I do the following:

hold fn blue
hold shift
press the button where I assigned CMD+left

the shift indicator in the keyboard viewer goes off before the cmd and left buttons light up. This tells me that KeyMouse is sending a shift up signal before sending the cmd+left signal. This does not seem like correct behavior to me.
3 years ago
·
#1641
Accepted Answer
@Andri Thanks for the additional details. I did some testing, and hopefully this is a solution. In the KeyMouse Software, when you right click on a key and go to "Key Combinations" screen, there are 2 options for how the modifiers behave ("Normal" and "Hold until Key is Released". Choose "Hold until Key is Released". For key combinations, it keeps all keys down until you specifically release them. I did a little testing on my computer and I think it will do what you want.
Attachments (1)
3 years ago
·
#1642
@Heber, thank you! This is exactly the behavior I wanted. Now I understand what the difference between "Normal" and "Hold until Key is Released" is.
  • Page :
  • 1
There are no replies made for this post yet.
Be one of the first to reply to this post!
Submit Your Response
Upload files or images for this discussion by clicking on the upload button below.
Supported: gif,jpg,png,jpeg,zip,rar,pdf
· Insert · Remove
  Upload Files (Maximum 2MB)
Captcha
To protect the site from bots and unauthorized scripts, we require that you enter the captcha codes below before posting your question.