Window Scrolling OK Button

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
MainTrane
Dedicated
Posts: 90
Joined: Wed Jan 26, 2011 12:47 am

Window Scrolling OK Button

Post by MainTrane »

In the window scrolling section under advanced settings the OK button should not close the dialog. It should apply the settings, then transform into a close button. This way several options can be tested without constantly re-opening the advanced settings window.

Also, I'm wondering how concrete this section of the app is? Adjusting scroll methods and distances rarely result in any difference in scroll wheel responsiveness, it's useful for getting rid of that weird rebounding that happens when one scrolls to the end of a document with 'make scroll wheel scroll window under cursor' checked; disable scrolling should always kill scroll wheel function but rarely works.

Do some windows simply not accept changes to scrolling methods?

Edit: Ignore the rebounding issue that I mentioned above. Another program (Actual Window Manager 6.3) that was recently updated, to also include scrolling inactive windows, was bumping heads with XMBC. I hadn't begun using XMBC on my new machine until a few days ago and thought it was to blame for the scrolling issues. AWM was also interfering with other apps on my system, not just XMBC.

I'm going to have to reevaluate XMBC's 'Window Scrolling' section.
 
  • Beta Tester ‖ Global Moderator
    Logitech [ G700 | G500 | MX1100 ᵛ¹ ᵛ² ]
    Windows 7 Professional 64-bit (6.1, Build 7601)
    Intel Core i7-960 @ 3.85GHz
    18GB (3x4GB+3x2GB) RAM
    DirectX 11
    NVIDIA GeForce 9800 GT
[/size]
User avatar
phil
Site Admin
Posts: 7670
Joined: Sun Apr 06, 2003 11:12 pm

Re: Window Scrolling OK Button

Post by phil »

Window scrolling is just plain awkward. Most modern apps work fine with the scroll wheel messages but some dont, and a lot of old apps (vb6 springs to mind immediatly) dont. The scrolling options was designed to make windows that dont normally work with the scroll wheel recognise it, by simulating other scroll messages (key up/down, and scrollbar message simulation) But every window seems to behave differently which is really annoying but thats life I guess.

Disabling scroll should stop the wheel scrolling the windows - I agree. Maybe if you could give some specific examples that I can try - I might be able to see if there is a problem and if there is, do something about it.

This feature is new in 1.52 so Im quite willing to accept there may be some bugs/issues in there - but I need a little detail to diagnose problems.

EDIT: I also agree about the apply action but I dont believe this shoud be the same button. One issue there, is the apply needs to be done on the main GUI for any settings to be save and therefore applied in the hook - so that might be a little tricky (but I will think about how a test option might be better supported).


Thanks.
Phuil
--[ 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)
User avatar
phil
Site Admin
Posts: 7670
Joined: Sun Apr 06, 2003 11:12 pm

Re: Window Scrolling OK Button

Post by phil »

Update on this one....

1. the disable option and the default option do not work as expect. This has been fixed in my latest test build.
2. I have added a "Test" button to the window scrolling dialog to allow you to test the changes made to scrolling configurations without having to press OK & then Apply.
3. Fixed some issues with the number of scroll messages not working as expected.

NOTE: Some windows do not like methods 1 & 2 in which case it switches to method 4 (which is to send the mouse wheel message. Of course some windows don't respond to mouse wheel messages either but if methods 1 & 2 fail as well, there is little I can do.

NOTE2: Method 3 (left/right keys) only applies to horizontal scrolling. There is no way of making it try and use the up/down keys scroll right now.

If you want to test the new version before its released let me know. But I'm planning on releasing 1.53 soon(ish) anyway seeing as I've fixed a few things already.

Thanks,
Phil
--[ 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)
MainTrane
Dedicated
Posts: 90
Joined: Wed Jan 26, 2011 12:47 am

Re: Window Scrolling OK Button

Post by MainTrane »

I'd love to give the latest beta a test drive :D .

Didn't know XMBC automatically switched to method 4, Wheel Message; in that case manually choosing WhlMsg setting would only be necessary if methods 1 or 2 work but not to the users satisfaction.

:?: Is Scroll Info another name for the Wheel Key method?
The AHK script DragtoScroll uses 3 different vertical scrolling methods:
  • mWheelKey
    - Simulates a "MouseWheel" key stroke
    - AHK help: "WheelLeft/Right require v1.0.48+, but have no effect on operating systems older than Windows Vista."
    - Probably the most compatible, though brutish.
    - Works without scroll bars; for example, scrolling application menus, the XP start menu, changing volume in media players, etc.
    - Only can scroll controls if hovering over them, and ONLY in the active window (according to default windows behavior). Scroll is sent to control under the mouse, which can change when dragging mouse around.
  • mWheelMessage
    - Sends WM_MOUSEWHEEL message to the target application
    - Always scrolls the control under the mouse when first clicking RButton
    - Allows you to scroll background windows without activating
    - The default. Works best for standard scrolling windows, should be smooth reliable scrolling.
    - Works best with momentum
  • mScrollMessage
    - Sends WM_VSCROLL/WM_HSCROLL message to the target application
    - Sometimes works in applications where other methods do not (e.g. Visual Studio)
 
  • Beta Tester ‖ Global Moderator
    Logitech [ G700 | G500 | MX1100 ᵛ¹ ᵛ² ]
    Windows 7 Professional 64-bit (6.1, Build 7601)
    Intel Core i7-960 @ 3.85GHz
    18GB (3x4GB+3x2GB) RAM
    DirectX 11
    NVIDIA GeForce 9800 GT
[/size]
User avatar
phil
Site Admin
Posts: 7670
Joined: Sun Apr 06, 2003 11:12 pm

Re: Window Scrolling OK Button

Post by phil »

Ive not idea what a mousewheel key stroke is? It sounds more like sending a up/down key (like method 3 but for all directions)?

When I say it switches tto method 4 (wheel msg) if 1 & 2 fail, that is, it checks the result of the sendmessage. If that indicates the message did not work, it falls through and tries method 4 which may or may not be successful). Generally you would be using this dialog becuase the window does not respond to the normal mouse scroll messages which of course means method 4 will not produce anything.

This is how it is NOW (in 1.52.4) I will PM you a link to the beta.

Method 1: Scroll Message
Send a WM_HSCROLL or WM_VSCROLL directly to the window under the mouse. Works with some windows.

Method 2: ScrollInfo
ScrollInfo is the Win32 API to set the scroll position of a window...
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Can work better than scroll messages (method 1) with some windows but still unreliable.

Method 3 (left/right keys)
For horizontal scrolling ONLY (right now). Sends left/right arrow keys to attempt to scroll the window.
Vertical scrolling left as default (I think off the top of my head)

Method 4: Wheel Message
Sends a WM_MOUSEWHEEL/WM_MOUSEHWHEEL message to the window (same as the default message) but allows you to tweak the scroll delta (scroll lines)

Default
Leave windows to handle the orriginal mouse message as sent from the device.

Disable
Drop the orriginal message as sent by the mouse, and dont do anything else. Thus the window will not be scrolled.


I hope that helps :)
Phil
--[ 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)
MainTrane
Dedicated
Posts: 90
Joined: Wed Jan 26, 2011 12:47 am

Re: Window Scrolling OK Button

Post by MainTrane »

phil wrote:Method 2: ScrollInfo
ScrollInfo is the Win32 API to set the scroll position of a window...
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Can work better than scroll messages (method 1) with some windows but still unreliable.
This method recognizes the scrollbar's length/position and scrolls in a 1:1 ratio with it; I would love for that method to be an option in DtS as it would allow exact 1:1 scrolling without having to go near any scrollbars. The Scripts developer was reluctant to include this method though :( .

I'm not sure what benefit it offers, if any, when using the wheel. It seems more ideal for grab and drag style scrolling.

Thanks,
Jermain
 
  • Beta Tester ‖ Global Moderator
    Logitech [ G700 | G500 | MX1100 ᵛ¹ ᵛ² ]
    Windows 7 Professional 64-bit (6.1, Build 7601)
    Intel Core i7-960 @ 3.85GHz
    18GB (3x4GB+3x2GB) RAM
    DirectX 11
    NVIDIA GeForce 9800 GT
[/size]
Post Reply