-
-
Notifications
You must be signed in to change notification settings - Fork 634
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
Focus tracker incorrect when screen resolution is not 100% #7065
Comments
I am working on supporting multiple displays and HiDPI environment. https://github.com/nvdajp/focusHighlight/releases/tag/5.0-dev-170411 Actually I am still not sure how DPI-awareness should be handled inside the NVDA, though I have been working on latest Windows APIs regarding this. |
Does reporting of text under the mouse work correctly in this case? NVDA is DPI aware, so anything in NVDA's process should be dealing with physical coordinates, not logical. However, NVDA is currently only system DPI aware, not monitor DPI aware. So, if you move NVDA to a monitor with different DPI, coordinates will then be scaled to the system DPI. This should not be an issue in most cases, though.
|
pre-release of focusHighlight-5.0-dev-171105 It now uses GDI Plus and physical coordinates are used for drawing rectangles.
|
Hi, please wait until my PR (post XP API) is merged before working on this. Thanks.
From: Takuya Nishimoto [mailto:[email protected]]
Sent: Sunday, November 5, 2017 5:45 AM
To: nvaccess/nvda <[email protected]>
Cc: Subscribed <[email protected]>
Subject: Re: [nvaccess/nvda] Focus tracker incorrect when screen resolution is not 100% (#7065)
pre-release of focusHighlight-5.0-dev-171105
https://github.com/nvdajp/focusHighlight/releases/tag/5.0-dev-171105
It now uses GDI Plus and physical coordinates are used for drawing rectangles.
However, it is not enough for Per-monitor DPI awareness support.
NVDA core should be updated as well.
Is it correct? Should I make pull request as follows?
diff --git a/source/core.py b/source/core.py
index 6c7fd202f..3b5977c90 100644
--- a/source/core.py
+++ b/source/core.py
@@ -164,10 +164,15 @@ This initializes all modules such as audio, IAccessible, keyboard, mouse, and GU
log.debug("Core starting")
try:
- # Windows >= Vista
- ctypes.windll.user32.SetProcessDPIAware()
- except AttributeError:
- pass
+ # Windows >= 8.1
+ # PROCESS_PER_MONITOR_DPI_AWARE = 2
+ ctypes.windll.shcore.SetProcessDpiAwareness(2)
+ except WindowsError:
+ try:
+ # Windows >= Vista
+ ctypes.windll.user32.SetProcessDPIAware()
+ except AttributeError:
+ pass
import config
if not globalVars.appArgs.configPath:
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#7065 (comment)> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AHgLkEI_f9IzIMuRC-XXL14itz3PtFwzks5szbvegaJpZM4M5l8C> .
|
@josephsl So, it is too late for 2017.4, right? How about for 2018.1? |
Hi, I’d say it is risky for 2017.4. For 2018.1, sure. Thanks.
From: Takuya Nishimoto [mailto:[email protected]]
Sent: Sunday, November 5, 2017 4:43 PM
To: nvaccess/nvda <[email protected]>
Cc: Joseph Lee <[email protected]>; Mention <[email protected]>
Subject: Re: [nvaccess/nvda] Focus tracker incorrect when screen resolution is not 100% (#7065)
@josephsl <https://github.com/josephsl> So, it is too late for 2017.4, right? How about for 2018.1?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#7065 (comment)> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AHgLkJAxo_lfeSeXee9NIFIiTzfqDRLuks5szlYegaJpZM4M5l8C> .
|
Just found PROCESS_PER_MONITOR_DPI_AWARE discussions regarding mouse tracking issue at #6722 |
highlighting and focus tracking are now actually part of NVDA 2019.3.1. |
@nishimotz how are your plans with the focus highlight addon? Are you still maintaining it? I guess since this feature is part of NVDA now, this addon is not needed anymore. Is it correct? |
Currently, my add-on is being used by people who need the old versions of NVDA. |
Thanks for the reporting. I am closing this issue now and if the initial author still wants to have it in your addon, he or she can create an issue on the coresponding repo. Thanks. |
To repro:
The focus highlight rectangle is often drawn incorrectly. I believe that apps are reporting true pixels in get_accLocation, but the add-on is drawing unscaled (virtual) pixels.
Aside from this the Focus Tracker add-on is really awesome, I'd love to see it incorporated directly into NVDA for developers and for users with low vision.
The text was updated successfully, but these errors were encountered: