CTRL button isn't the same like the keyboard

x64 Replacement/Alternative to Microsoft's IntelliMouse application.
Forum rules
Please read the forum rules before posting for the first time.
The more information you can provide, the quicker and more accurately someone can help.
NOTE: To reduce spam, new users can not post links, files or images until they have at least 4 posts.
Post Reply
sutz
Member
Posts: 22
Joined: Fri Jun 24, 2022 10:38 pm

CTRL button isn't the same like the keyboard

Post by sutz »

XMBC Installed version:[2.19.2] Windows 10

Ok first of all and because it's hard to explain and I am not a programer, I will describe just the scenario

* I'm enabling a Windows feature called "show location of pointer when I press CTRL key" from the mouse settings of Windows.
+ I made a profile for Firefox.
+ I assigned BUTTON 5 for (Button Chording). Then assigned the default (No chord) -for the button 5- to be CTRL key as {During (press on up, release on up)}. So it works default ctrl button in keyboard. But it DOESN'T in two situations:


FIRST SITUATION

Opening an image in a new tab in Firefox.
Wheel up and wheel down should now zoom in and out while holding on button 5 but they don't so I directly moved to the chord that I have already established for button 5 and in it I assigned the wheel up and down from "No Change" to [{CTRL}{MWUP}] and [{CTRL}{MWON}]. And if you ask me: Have you made it (during) or (pressed) or any of the nine modes? I'll say that I tried all of them. I even tried changing many other things, maybe all possible things that can be done to get the result that I want but I didn't get it.
What is the result that I wanted to take place? I could already zoom in and down If I hold on button 5 while wheeling up and down BUT either:
A. the circle shows up too many times while wheeling up and down (which doesn't happen if I hold instead the keyboard ctrl button while wheeling. As the circle shows only one time when I release ctrl button in keyboard if I use it with wheel to zoom in/out).
OR
B. I could hide the circle while zooming by changing the mode to "6. Repeatedly while the button is down". But the defect with this is that even when I release the CTRL (button 5), the wheel keeps performing the action of zooming in/out untill I press the ctrl (button 5) again (which also doesn't applies on using the keyboard ctrl button instesd).
So, is there any options to get the same result I get from the keyboard (not showing circle too many times while wheeling AND releasing the action of CTRL+wheel once I'm releasing the button 5)?

SECOND SITUATION
If you open any site on Firefox (say youtube. com) then open a new tab, when you try to write some letters of the word "youtube" in the url bar Firefox suggests some results from history as you are typing which one of them should be youtube. com but it also shows a button called "Switch to Tab" next to it because you have youtube already opened in another tab. Now try to hold ctrl on keyboard.. the "Switch to Tab" button dissapears, which doesn't happen with button 5 that I reassigned to behave like ctrl.
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: CTRL button isn't the same like the keyboard

Post by phil »

Hi,

I just tried exactly this, added {CTRL}, method 3 and turned on Show location of pointer when I press the CTRL key.....

Scenario A)
I cant reproduce this - it just works (zooms) the image as I hold the button 5 and scroll.

If you change scroll to {CTRL}{MWUP} then of course it will show the cursor circle multiple times, because scroll is not a button (it does not have a down and an up, just a single "scroll" message that repeats for every tiny little scroll wheel movement). So you are sending many messages, and each of those messages, you are pressing ctrl, sending scroll, releasing ctrl (which triggers the circle). That's not a problem, its just how it works. You shouldn't have the remap scroll to {CTRL}{MWUP} though.

Scenario B) - again, for me {CTRL} during is working exactly like CTRL on this too - the "switch to tab" button disappears as I press button 5 and reappears when I release it (just like the CTRL key on my keyboard).

I am however using the latest beta of XMBC and its possible I have fixed something in there - I can only suggest you try that (the link is available on the forums here)
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
sutz
Member
Posts: 22
Joined: Fri Jun 24, 2022 10:38 pm

Re: CTRL button isn't the same like the keyboard

Post by sutz »

You shouldn't have the remap scroll to {CTRL}{MWUP} though
I was about to tell you that LEAVING THE WHEEL UP/DOWN NOT REMAPPED has not executed the zoom process at all until I made some changes.
I have installed the beta version and checked the option that clears the settings while installing which I expected to reset profiles too, then used a third party removal tool to uninstall XMBC. I could still see all old profiles, so I have finally deleted the XMBC folder in AppData/Roaming to install a completely reset one.

I could solve the problems in scenario A & B only by modifying the option "Unblock after 750 millisecond" in the button chording page. I just changed the default value 750 to 0 and everything then worked as I wanted which I have never expected (any value below 400 gave the same result).

Now can you please guide me how to set the left mouse button in this chord to act as Left Arrow and right mouse button to act as Right Arrow (I mean by clicking left mouse button while holding the chord button "button 5")?
I tried just assigning the left mouse button to a simulated key {Left} but it doesn't function for some reason!

I made another try by unchecking the option "Block / Delay original button action until chord is established" so now the left mouse button with the chord performs as CTRL+Left(Arrow).
To change it to perform as just Left(Arrow):
I changed "simulated key: (pressed)[{LEFT}]" to (pressed)[{LEFT}{CLEAR}{CTRL}] for the left mouse button
and "simulated key: (pressed)[{RIGHT}]" to (pressed)[{RIGHT}{CLEAR}{CTRL}] for the right mouse button.
The left mouse worked while the right one didn't work properly.
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: CTRL button isn't the same like the keyboard

Post by phil »

I'm sorry, somehow I completely missed the bit about chording, that is I didn't realize you were doing this in a chord...
That completely changes things, I'll have to look again, but it makes much more sense now.

So when you press the chord button, XMBC does not know your intentions, are you really executing a chord or just button 5 on its own. So it enters a new state, in that state, it waits for another button to apply the chord.

Normally, XMBC would wait until you released the button. If you release the button without pressing an other buttons, it is clear that you didn't intend to chord. At which point it executes the default no chord action ({CTRL}) by simulating it being pressed and released (so you don't really have a during).

The setting "Unblock after" causes it to exit that wait state and give up on the chord, I.E. decide that you don't want to chord after all and execute the no chord action for the button. So setting it to zero is effectively going to cancel the chord right away I'd expect. Anything else will cancel it after that time, at which point if you try and execute the chord, it will not work because its already given up and pressed CTRL (it wont release CTRL until you release button 5, but the chord has been canceled at this point and I would not expect any other button to chord, just send their default actions (not chorded action for the profile).

The setting "Block / Delay original button action until chord is established" as you have established, will press {CTRL} as soon as the button is pressed and keep it held until the button is released, which of course means that it will be pressed for the chorded actions. If you try and clear CTRL I can see things getting messy. Maybe I need another option IN THIS CASE to release the default (no chord) button as soon as a chord is detected (before it sims the chord action).

So just to be clear (I'm not sure its possible to be clear here :lol:), the default (no chord) button {CTRL} is not pressed right away (unless you un-tick block/delay). it has to wait until it knows if you are chording or not. Once it knows (if you unblock early) it presses CTRL and releases CTRL when you release the button. If you don't unblock, it waits until you release the button, then presses/releases CTRL .

Of course if you press another button before unblocked, it will never press or release {CTRL} because you are chording, it will not initiate the no chord action.
That might explain your initial 'issues' and there might not be a lot that can be done about that.

I'm going to have to play around and recreate this again, I'm busy this weekend so I might not get a chance to do that properly until next week.
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
sutz
Member
Posts: 22
Joined: Fri Jun 24, 2022 10:38 pm

Re: CTRL button isn't the same like the keyboard

Post by sutz »

Thank you for illustrating and thanks for you time too.
Post Reply