-
-
Notifications
You must be signed in to change notification settings - Fork 642
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Touch screen inaccurate in some programs (eg Chrome) when using DPI greater than 100% #7083
Labels
bug
displayScaling
Display scaling and DPI awareness
feature/touch-screen
p4
https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Milestone
Comments
feerrenrut
added
p4
https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
feature/touch-screen
labels
Apr 24, 2017
My guess is that the number of users impacted by this is enough to set the priority to 3. There is also a work around. |
cc @dkager |
This was referenced Feb 11, 2018
#8076 could be related |
seanbudd
pushed a commit
that referenced
this issue
Aug 30, 2022
Fixes #13370 Fixes #6722 Fixes #3875 Fixes #12070 Fixes #7083 Fixes #7915 Likely fixes #9531, otherwise close as stale/can't reproduce ### Summary of the issue: When DPI for a monitor is not set to 100%, or when using multiple monitors with different DPI settings, NVDA would: - misplace highlight frames - have inaccurate mouse tracking - have inaccurate touch screen interaction NVDA currently sets the DPI awareness via a Windows API call introduced in Windows Vista. It is recommended to set DPI through the app manifest, rather than Windows API calls where possible. Newer settings for DPI awareness have been introduced since Windows Vista. Windows 8 introduced multiple monitor DPI awareness. Windows 10 introduced a richer version of multiple monitor DPI awareness. ### Description of how this pull request fixes the issue: Background docs: https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows#per-monitor-and-per-monitor-v2-dpi-awareness When running as an executable, NVDA sets DPI awareness via the app manifest. When running through source, NVDA sets DPI awareness via Windows API calls. The most modern method available is used to set DPI awareness. - For Windows 7, DPI awareness is unlikely to improve. There may be fixes from setting it via the app manifest instead of via Windows API calls. - For Windows 8 and newer, NVDA has per monitor DPI awareness - For Windows 10 1703 and newer, NVDA has [advanced per monitor DPI awareness](https://docs.microsoft.com/en-us/windows/win32/hidpi/dpi-awareness-context), including: - Child window DPI change notifications - Scaling of non-client area - All windows will automatically have their non-client area drawn in a DPI sensitive fashion. Calls to [EnableNonClientDpiScaling](https://docs.microsoft.com/en-us/windows/desktop/api/Winuser/nf-winuser-enablenonclientdpiscaling) are unnecessary. - Scaling of Win32 menus - All NTUSER menus created in Per Monitor v2 contexts will be scaling in a per-monitor fashion. - Dialog Scaling - Win32 dialogs created in Per Monitor v2 contexts will automatically respond to DPI changes. - Improved scaling of comctl32 controls - Various comctl32 controls have improved DPI scaling behavior in Per Monitor v2 contexts. - Improved theming behavior - UxTheme handles opened in the context of a Per Monitor v2 window will operate in terms of the DPI associated with that window.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
displayScaling
Display scaling and DPI awareness
feature/touch-screen
p4
https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Using Chrome, when the DPI (Change the size of text, apps and other items) is set to greater than 100%, touching items on the screen is inaccurate. NVDA may read other items or the main window information.
Swiping between items works. Selecting items on the touch screen works normally without NVDA running.
The text was updated successfully, but these errors were encountered: