OrderedBytes
OrderedBytes User Forum
FAQ FAQ     Search Search     Memberlist Memberlist     Usergroups Usergroups     Register Register
Profile Profile     Log in to check your private messages Log in to check your private messages     Log in Log in
How to disable key temporarily when modifier key pressed?
Display posts from previous:         View previous topic :: View next topic
Post new topic Reply to topic Subscribe to this topic    The OrderedBytes Forum -> ControllerMate Discussion
How to disable key temporarily when modifier key pressed? Mon Apr 30, 2018 12:48 am  •   #12126
adamlogan



Joined: 01 Jun 2017
Posts: 12

So, I'm relatively new at keybinding. Something I need to understand is how to stop keypresses from outputting their original function when a modifier key is pressed, but retain their original function so long as the modifier key is not pressed.

For example, I've set up a controller mate page for my favorite media player INNA and VLC on the Mac.

I have set up keybindings to make it easy to control INNA and VLC just using my mouse when my MacBook Pro is in clamshell mode hooked up to an external monitor. I am setting up keybindings for my mouse because I don't have an external keyboard.

I have set it up so either buttons 4 or 5 is the modifier key, and then I want mouse buttons 1, 2, 3 (press down on scroll wheel button) and scroll wheel up and down to trigger virtual key combinations in accordance to the software's default hotkey configuration as I don't want to have to reconfigure applications with new hotkeys everytime I do a clean install of my OS etc.

Some issues I'm coming across: In VLC the key combo I have set up to activate when modifier keys 3 or 4 + mouse 2 is working, but it also triggers the original mouse 2, so I get a contextual menu every time I do that in VLC. INNA apparently disables the contextual menu so it's not a problem there most of the time. So, I'm trying to figure out how to stop the mouse 2 button from firing when I'm using that button in a keypress combo. How do I do that?

Here are two screenshots of my programming page. Couldn't figure out how to get it all on one screen.




P.S. I'm sure I'm doing this inelegantly. For example, I haven't figured out how to use the modifier block properly. And I'm sure plenty of the controller blocks are redundant, I did that because it was easier to read and understand for me. I'm always happy to learn how to improve my workflow, it just wasn't intuitive to me.

I find that it somewhat frustrating how some blocks don't work together due to one-way input or output blocks or only being compatible with certain types of blocks.
View user's profile Send private message Reply with quote
Mon Apr 30, 2018 10:31 am  •   #12133
dabo



Joined: 19 Feb 2014
Posts: 51
Location: Los Angeles

You need to hijack the buttons in the ControllerMate Driver Configuration for your mouse.

Set up a Programming Group that is enabled only when the application you wish to target is running in the foreground (I assume you use the mouse for other things for which you need the buttons to behave normally).

Put the Programming Page(s) for the application in this group.
Put a Driver Configuration for your mouse in this group.
In the Driver Configuration, set the Custom Behavior for the buttons you wish to hijack to "None".

The buttons are now hijacked and will only do what you define in the programming while the conditions for your Programming Group are true.

Also...
Check out the "Button Group" and "Properties" building blocks.
These will help clean up your programming quite a bit.
View user's profile Send private message Reply with quote
Page 1 of 1 All times are GMT - 6 Hours
Post new topic Reply to topic Subscribe to this topic    The OrderedBytes Forum -> ControllerMate Discussion
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Copyright © 2005 — 2012 OrderedBytes
All rights reserved.