-
Notifications
You must be signed in to change notification settings - Fork 364
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
Mozc Renderer: Windows are not placed under the cursor with HiDPI display #823
Comments
I think what you need to do is just dividing the virtual screen coordinates with device pixel ratio, as explained the Qt document you linked.
The device pixel ratio mentioned here can be obtained with
Can you confirm that 1) |
It is 1.25
Unfortunately, no because the virtual coordinates of two displays are not continuous even if they are physically continuous, and the point of virtual top-left is the same as physical. It seems that we can convert physical coordinate (x, y) to virtual by checking |
…s window position on HiDPI displays Qt6 applications use virtual coordinates. Since IBus use the device pixel coordinate system to represent a position of a pre-edit area, mozc_renderer converts it to the virtual coordinate.
…s window position on HiDPI displays Qt6 applications use virtual coordinates. Since IBus use the device pixel coordinate system to represent a position of a pre-edit area, mozc_renderer converts it to the virtual coordinate.
…s window position on HiDPI displays Qt6 applications use virtual coordinates. Since IBus uses the device-pixel native coordinate system to represent a position of a pre-edit area, mozc_renderer converts it to the virtual coordinate.
…s window position on HiDPI displays Qt6 applications use virtual coordinates. Since IBus uses the device-pixel native coordinate system to represent a position of a pre-edit area, mozc_renderer converts it to the virtual coordinate.
…s window position on HiDPI displays Qt6 applications use virtual coordinates. Since IBus uses the device-pixel native coordinate system to represent a position of a pre-edit area, mozc_renderer converts it to the virtual coordinate.
Features * Supported the conversion from "なう" to date/time (i.e. 2024/12/31 23:59) * Supported loading user dictionary files exported from Gboard * Fixed voiced Katakana conversion from ゑ (ヸ → ヹ) * Improved the about dialog with the dark mode (#897) * Linux: Improved the candidate UI with HiDPI displays (#823) Build * Updated the Protobuf version: v25.0 → v26.1 * Updated the Abseil version: 20230802.1 → 20240116.1 * Updated the Qt version: 6.6.2 → 6.7.0 Code * Performed code refactoring PiperOrigin-RevId: 622060710
Description
Qt6 does not support AA_EnableHighDpiScaling as mentioned in compiler warnings.
It now always uses virtual pixels. However, IBus only knows about device pixels and it sends a preedit rect in device pixel coordinates. Thus, a candidate window is usually placed bottom-right of the appropriate place.
Steps to reproduce
Steps to reproduce the behavior:
Screenshots
Version or commit-id
Mozc-2.29.5220.102+24.11.oss
Environment
Investigations
(e.g. Mozc-2.28.4960.100+24.11.oss).
Additional context
https://codereview.qt-project.org/c/qt/qtbase/+/451617/2/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
QT_ENABLE_HIGHDPI_SCALING=0 /usr/lib64/mozc/mozc_renderer
The text was updated successfully, but these errors were encountered: