Tile Wheel Sending Different Keystrokes

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 or images until they have at least 4 posts.
Post Reply
designerer
New User
Posts: 2
Joined: Mon Feb 22, 2021 3:36 am

Tile Wheel Sending Different Keystrokes

Post by designerer »

XMBC Version: 2.19.2
Windows Version: 20H2
Mouse Information (brand/model): Microsoft Sculpt Comfort Mouse
Relevant Computer Information (CPU, RAM etc): i9-9900k @ 3.6GhZ, 43GB RAM
Did the problem occur after an upgrade of XMBC? (If so, from what version?): N/A
Did the problem occur after a Windows update/upgrade? (If so, from what version?): N/A
How long have you used XMBC?: Just a couple times
What language and keyboard layout do you use in Windows?: English

Clear description of the problem - try and include as much information as possible, including what button and mappings you are having problems with (if applicable).:

Hey there, I am switching to a new mouse that I felt had better customization options, and one of those was that I could remap the scroll wheel tilt side to side to be different keys. I did this with another program on my Mac so it feels very natural to me, but switching to PC for some projects and can't seem to figure out how to remap this one to be correct. I am trying to chance the left tilt to be zoom out ({CTRL}-) and right tilt to be zoom in ({CTRL}=).

Initially, when I went to tilt the wheel either direction, it would simulate around 6 (varied from 4 to 8) presses of the keys, and found the following posts on this forum to help:
https://forums.highrez.co.uk/viewtopic.php?f=6&t=2605
https://forums.highrez.co.uk/viewtopic.php?f=6&t=4383
I experimented with settings, and left it on simulating as pressed, and then checking the setting for ignoring repeated remapped horizontal scroll. De-bounce settings did not affect how it performed.

Now, it does only zoom in or out once, but when it does so it also scrolls in the direction that the tilt is, so it seems as if it is remapping the press, and then may be somehow thinking there are additional presses and because it is ignoring the repeated press, it is just letting that happen as actual presses. If it would be helpful, I could upload a short video showing this action and upload the debug log as well.

User avatar
phil
Site Admin
Posts: 6722
Joined: Sun Apr 06, 2003 11:12 pm

Re: Tile Wheel Sending Different Keystrokes

Post by phil »

First, you normally need 5 posts before you can add links or upload files (to try and prevent all the spam bots). I have elevated your access manually - so go ahead.

XMBC should not be letting the scroll messages through, so long as you have not un-ticked the box "Block original mouse input" in the simkeys setup.
So if it is letting anything through, indeed the debug log will most likely be most useful to me - make sure you actually turn on debug logging in the Updates and Logging tab (I know that sounds obvious but you'd be amazed at how many people forget that bit :).

Regards,
Phil
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9, Logitech MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 500Gb NVME, 2x2TB WD Black (RAID1)

designerer
New User
Posts: 2
Joined: Mon Feb 22, 2021 3:36 am

Re: Tile Wheel Sending Different Keystrokes

Post by designerer »

Attaching the Debugging log from when I tilt left and then tilt right, there may be some residual data at the end. Thank you so much for your help!

Code: Select all

22-02-2021 10:47:11.350> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=919, Y=441, Data=0xFFE20000, Flags=0x00000001, Time=51208968, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:11.351> WM_MOUSEHWHEEL: MouseData 0xffe20000 (-30), Flags 0x00000001, Time 51208968ms, ExtraInfo 0
22-02-2021 10:47:11.351> WM_MOUSEHWHEEL: M:51208968ms, F:51169171ms, L:51169171ms...
22-02-2021 10:47:11.351>     Same but 39797ms slower than initial repeat + 10% so slow enough to be a new message
22-02-2021 10:47:11.351>     Allow tilt (DiffFirst 39797ms DiffLast 39797ms).
22-02-2021 10:47:11.352> Translating TiltLeft Button Down Key state 0x0: Action 28 [Simulated Keys '{CTRL}-' (pressed)]
22-02-2021 10:47:11.352> SendInput::SendKeyState: Queue VKCode=0xbd Scan code=0xc SendMode=0x8 Flags=0x2 Release=0 Delay=1
22-02-2021 10:47:11.352> SendInput::SendKeyState: Queue VKCode=0xbd Scan code=0xc SendMode=0x8 Flags=0x2 Release=1 Delay=0
22-02-2021 10:47:11.352> CSendInput::ProcessQueue: Starting to process 4 queue entries
22-02-2021 10:47:11.352> CSendInput::ProcessQueue: Sending 1 SIMULATED INPUTS
22-02-2021 10:47:11.353> MouseHookLLProc: Removing message 0x020E (919,441) from mouse hook queue as we have overridden it.
22-02-2021 10:47:11.353> Ignoring key (0xA2) press injected by X-Mouse Button Control
22-02-2021 10:47:11.353> CSendInput::ProcessQueue: Sleeping for 2ms
22-02-2021 10:47:11.355> CSendInput::ProcessQueue: Sending 1 SIMULATED INPUTS
22-02-2021 10:47:11.355> Ignoring key (0xBD) press injected by X-Mouse Button Control
22-02-2021 10:47:11.356> CSendInput::ProcessQueue: Sleeping for 2ms
22-02-2021 10:47:11.358> CSendInput::ProcessQueue: Sending 1 SIMULATED INPUTS
22-02-2021 10:47:11.358> Ignoring key (0xBD) release injected by X-Mouse Button Control
22-02-2021 10:47:11.358> CSendInput::ProcessQueue: Sleeping for 1ms
22-02-2021 10:47:11.359> CSendInput::ProcessQueue: Sending 1 SIMULATED INPUTS
22-02-2021 10:47:11.359> KeyHookLLProc: Injected CTRL (0xA2) released, Started 100ms KeySwitchTimer ID: 0x00000000
22-02-2021 10:47:11.359> TimerThread[0x4874]: Started KEYSWITCH timer 1010 for 100ms - ID 0000661F
22-02-2021 10:47:11.359> CSendInput::ProcessQueue: Sleeping for 1ms
22-02-2021 10:47:11.360> CSendInput::ProcessQueue: Finished sending 4 queue entries... (Flushed = 0)
22-02-2021 10:47:11.369> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=919, Y=441, Data=0xFFE20000, Flags=0x00000001, Time=51209000, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:11.370> WM_MOUSEHWHEEL: MouseData 0xffe20000 (-30), Flags 0x00000001, Time 51209000ms, ExtraInfo 0
22-02-2021 10:47:11.370> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a5350)

22-02-2021 10:47:11.370> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:11.370> MouseHookLLProc: Removing message 0x020E (919,441) from mouse hook queue as we have overridden it.
22-02-2021 10:47:11.382> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=919, Y=441, Data=0xFFE20000, Flags=0x00000001, Time=51209000, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:11.382> WM_MOUSEHWHEEL: MouseData 0xffe20000 (-30), Flags 0x00000001, Time 51209000ms, ExtraInfo 0
22-02-2021 10:47:11.382> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a4c50)

22-02-2021 10:47:11.382> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:11.382> MouseHookLLProc: Removing message 0x020E (919,441) from mouse hook queue as we have overridden it.
22-02-2021 10:47:11.399> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=919, Y=441, Data=0xFFC40000, Flags=0x00000001, Time=51209015, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:11.399> WM_MOUSEHWHEEL: MouseData 0xffc40000 (-60), Flags 0x00000001, Time 51209015ms, ExtraInfo 0
22-02-2021 10:47:11.399> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a5270)

22-02-2021 10:47:11.399> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:11.399> MouseHookLLProc: Removing message 0x020E (919,441) from mouse hook queue as we have overridden it.
22-02-2021 10:47:11.409> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=919, Y=441, Data=0xFFE20000, Flags=0x00000001, Time=51209031, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:11.409> WM_MOUSEHWHEEL: MouseData 0xffe20000 (-30), Flags 0x00000001, Time 51209031ms, ExtraInfo 0
22-02-2021 10:47:11.409> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a5270)

22-02-2021 10:47:11.409> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:11.410> MouseHookLLProc: Removing message 0x020E (919,441) from mouse hook queue as we have overridden it.
22-02-2021 10:47:11.428> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=919, Y=441, Data=0xFFE20000, Flags=0x00000001, Time=51209046, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:11.428> WM_MOUSEHWHEEL: MouseData 0xffe20000 (-30), Flags 0x00000001, Time 51209046ms, ExtraInfo 0
22-02-2021 10:47:11.428> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a4a90)

22-02-2021 10:47:11.428> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:11.428> MouseHookLLProc: Removing message 0x020E (919,441) from mouse hook queue as we have overridden it.
22-02-2021 10:47:11.439> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=919, Y=441, Data=0xFFC40000, Flags=0x00000001, Time=51209062, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:11.439> WM_MOUSEHWHEEL: MouseData 0xffc40000 (-60), Flags 0x00000001, Time 51209062ms, ExtraInfo 0
22-02-2021 10:47:11.439> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a52e0)

22-02-2021 10:47:11.440> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:11.440> MouseHookLLProc: Removing message 0x020E (919,441) from mouse hook queue as we have overridden it.
22-02-2021 10:47:11.469> KeySwitchTimerProc: Checking active app profile...
22-02-2021 10:47:12.445> StopQTTimer: Unable to delete QueueTimer 997 (0x00000001) as it is executing. The timer will be cleaned up when execution finishes. (0x5a0a5270)
 (Error code 997: Overlapped I/O operation is in progress. )
22-02-2021 10:47:12.445> HScrollTimerCallback: Processing simulated button up.

22-02-2021 10:47:12.445> ProcessButton: Skipping Window check. Last HWND 00030F7E.
22-02-2021 10:47:12.445> Translating TiltLeft Button Up Key state 0x0: Action 28 [Simulated Keys '{CTRL}-' (pressed)]
22-02-2021 10:47:12.448> TimerThread[0x4874]: Started MOUSE OVER timer 1015 for 150ms - ID 0000661D
22-02-2021 10:47:12.617> ProcessMouseOverTimerProc: Checking MouseOver(1066,804)...
22-02-2021 10:47:12.618> TimerThread[0x4874]: Started MOUSE OVER timer 1015 for 150ms - ID 0000661C
22-02-2021 10:47:12.772> ProcessMouseOverTimerProc: Checking MouseOver(1069,809)...
22-02-2021 10:47:12.967> TimerThread[0x4874]: Started MOUSE OVER timer 1015 for 150ms - ID 0000661B
22-02-2021 10:47:12.984> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=1068, Y=809, Data=0x001E0000, Flags=0x00000001, Time=51210609, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:12.984> WM_MOUSEHWHEEL: MouseData 0x001e0000 (30), Flags 0x00000001, Time 51210609ms, ExtraInfo 0
22-02-2021 10:47:12.984> WM_MOUSEHWHEEL: M:51210609ms, F:51208968ms, L:51208968ms...
22-02-2021 10:47:12.984>     Same but 1641ms slower than initial repeat + 10% so slow enough to be a new message
22-02-2021 10:47:12.984>     Allow tilt (DiffFirst 1641ms DiffLast 1641ms).
22-02-2021 10:47:12.984> Translating TiltRight Button Down Key state 0x0: Action 28 [Simulated Keys '{CTRL}=' (pressed)]
22-02-2021 10:47:12.985> SendInput::SendKeyState: Queue VKCode=0xbb Scan code=0xd SendMode=0x8 Flags=0x2 Release=0 Delay=1
22-02-2021 10:47:12.985> SendInput::SendKeyState: Queue VKCode=0xbb Scan code=0xd SendMode=0x8 Flags=0x2 Release=1 Delay=0
22-02-2021 10:47:12.985> CSendInput::ProcessQueue: Starting to process 4 queue entries
22-02-2021 10:47:12.985> CSendInput::ProcessQueue: Sending 1 SIMULATED INPUTS
22-02-2021 10:47:12.986> MouseHookLLProc: Removing message 0x020E (1068,809) from mouse hook queue as we have overridden it.
22-02-2021 10:47:12.986> Ignoring key (0xA2) press injected by X-Mouse Button Control
22-02-2021 10:47:12.986> CSendInput::ProcessQueue: Sleeping for 2ms
22-02-2021 10:47:12.988> CSendInput::ProcessQueue: Sending 1 SIMULATED INPUTS
22-02-2021 10:47:12.988> Ignoring key (0xBB) press injected by X-Mouse Button Control
22-02-2021 10:47:12.988> CSendInput::ProcessQueue: Sleeping for 2ms
22-02-2021 10:47:12.991> CSendInput::ProcessQueue: Sending 1 SIMULATED INPUTS
22-02-2021 10:47:12.991> Ignoring key (0xBB) release injected by X-Mouse Button Control
22-02-2021 10:47:12.991> CSendInput::ProcessQueue: Sleeping for 1ms
22-02-2021 10:47:12.992> CSendInput::ProcessQueue: Sending 1 SIMULATED INPUTS
22-02-2021 10:47:12.992> KeyHookLLProc: Injected CTRL (0xA2) released, Started 100ms KeySwitchTimer ID: 0x00000000
22-02-2021 10:47:12.992> TimerThread[0x4874]: Started KEYSWITCH timer 1010 for 100ms - ID 0000661A
22-02-2021 10:47:12.992> CSendInput::ProcessQueue: Sleeping for 1ms
22-02-2021 10:47:12.993> CSendInput::ProcessQueue: Finished sending 4 queue entries... (Flushed = 0)
22-02-2021 10:47:13.009> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=1064, Y=808, Data=0x001E0000, Flags=0x00000001, Time=51210625, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:13.009> WM_MOUSEHWHEEL: MouseData 0x001e0000 (30), Flags 0x00000001, Time 51210625ms, ExtraInfo 0
22-02-2021 10:47:13.009> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a4a90)

22-02-2021 10:47:13.009> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:13.009> MouseHookLLProc: Removing message 0x020E (1064,808) from mouse hook queue as we have overridden it.
22-02-2021 10:47:13.022> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=1061, Y=807, Data=0x001E0000, Flags=0x00000001, Time=51210640, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:13.023> WM_MOUSEHWHEEL: MouseData 0x001e0000 (30), Flags 0x00000001, Time 51210640ms, ExtraInfo 0
22-02-2021 10:47:13.023> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a4da0)

22-02-2021 10:47:13.023> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:13.023> MouseHookLLProc: Removing message 0x020E (1061,807) from mouse hook queue as we have overridden it.
22-02-2021 10:47:13.034> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=1061, Y=807, Data=0x001E0000, Flags=0x00000001, Time=51210656, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:13.035> WM_MOUSEHWHEEL: MouseData 0x001e0000 (30), Flags 0x00000001, Time 51210656ms, ExtraInfo 0
22-02-2021 10:47:13.035> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a4e80)

22-02-2021 10:47:13.035> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:13.035> MouseHookLLProc: Removing message 0x020E (1061,807) from mouse hook queue as we have overridden it.
22-02-2021 10:47:13.054> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=1061, Y=807, Data=0x003C0000, Flags=0x00000001, Time=51210671, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:13.054> WM_MOUSEHWHEEL: MouseData 0x003c0000 (60), Flags 0x00000001, Time 51210671ms, ExtraInfo 0
22-02-2021 10:47:13.054> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a4a90)

22-02-2021 10:47:13.054> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:13.054> MouseHookLLProc: Removing message 0x020E (1061,807) from mouse hook queue as we have overridden it.
22-02-2021 10:47:13.067> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=1061, Y=806, Data=0x001E0000, Flags=0x00000001, Time=51210687, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:13.067> WM_MOUSEHWHEEL: MouseData 0x001e0000 (30), Flags 0x00000001, Time 51210687ms, ExtraInfo 0
22-02-2021 10:47:13.067> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a4e80)

22-02-2021 10:47:13.067> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:13.067> MouseHookLLProc: Removing message 0x020E (1061,806) from mouse hook queue as we have overridden it.
22-02-2021 10:47:13.082> MouseHookLLProc: MouseHookData: Msg=0x020e (WM_MOUSEHWHEEL) Injected, X=1063, Y=806, Data=0x001E0000, Flags=0x00000001, Time=51210703, Info=0x0, Ptr=0x8107E9, Layer=0
22-02-2021 10:47:13.083> WM_MOUSEHWHEEL: MouseData 0x001e0000 (30), Flags 0x00000001, Time 51210703ms, ExtraInfo 0
22-02-2021 10:47:13.083> StopQTTimer: DeleteTimerQueueTimer 1 (0x5a0a4a90)

22-02-2021 10:47:13.083> MouseHookLLProc: Setting ignore HScroll Timer for 1000ms
22-02-2021 10:47:13.083> MouseHookLLProc: Removing message 0x020E (1063,806) from mouse hook queue as we have overridden it.
22-02-2021 10:47:13.099> KeySwitchTimerProc: Checking active app profile...
22-02-2021 10:47:13.130> ProcessMouseOverTimerProc: Checking MouseOver(1068,809)...
22-02-2021 10:47:14.091> StopQTTimer: Unable to delete QueueTimer 997 (0x00000001) as it is executing. The timer will be cleaned up when execution finishes. (0x5a0a5270)
 (Error code 997: Overlapped I/O operation is in progress. )
22-02-2021 10:47:14.091> HScrollTimerCallback: Processing simulated button up.

22-02-2021 10:47:14.091> ProcessButton: Skipping Window check. Last HWND 00030F7E.
22-02-2021 10:47:14.091> Translating TiltRight Button Up Key state 0x0: Action 28 [Simulated Keys '{CTRL}=' (pressed)]

Post Reply