Qt 應用程序不服從 Xmodmap
很久以前,我創建了一個
~/.Xmodmap
反轉4
和5
創建“自然滾動”:pointer = 1 2 3 5 4 7 6 8 9 10 11 12
我
.Xmodmap
以.xinitrc
標準方式 (xmodmap $HOME/.Xmodmap &
) 進行採購。這已經工作了多年,沒有問題。我最近剛剛安裝了一個名為. 我對該程序沒有其他問題,只是由於某種原因,當我在程序內部滾動時,我的滾動方向不是“自然的”(即,就好像我沒有被這個應用程序所遵循)。
cockatrice
.Xmodmap
起初,我認為這是我的 Qt 輸入模組的問題,但我意識到我已經
QT_IM_MODULE
在xim
我.xinitrc
的 .這是特定於應用程序的問題,還是特定於 Qt?我應該如何嘗試進一步解決這個問題(或解決它)?
嘗試通過
xinput
失敗進行普遍設置:$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] # unneeded information regarding my keyboard $ xinput set-prop 2 "Evdev Scrolling Distance" -1 -1 -1 property 'Evdev Scrolling Distance' doesn't exist, you need to specify its type and format
它似乎是特定於 Qt 的(通過在 Qt Assistant 中嘗試)。我認為這是因為 Qt 僅將滾動距離用於其滾輪事件。
您可以將滾動距離設置為負值,而不是在此處使用 xmodmap。
/etc/X11/xorg.conf.d/
對於由 evdev 管理的滑鼠,您可以通過 in 中的文件進行設置:Section "InputClass" Identifier "Reverse Scrolling" MatchIsPointer "on" Option "VertScrollDelta" "-1" Option "HorizScrollDelta" "-1" Option "DialDelta" "-1" EndSection
或者您可以先嘗試
xinput
:
xinput set-prop <your device id> "Evdev Scrolling Distance" -1 -1 -1
(獲取設備ID
xinput list
:)屬性與實際設備一起列出。這裡
xinput list-props 12
應該列出觸摸板的屬性。因為它是一個突觸觸摸板,所以從這個手冊頁中,屬性應該是:
xinput set-prop <touchpad id> "Synaptics Scrolling Distance" -1 -1
(只有兩個值,垂直和水平邊緣。)對於配置文件中的規則,它應該適用於
MatchIsTouchpad
:Section "InputClass" Identifier "Natural Scrolling" MatchIsTouchpad "on" Option "VertScrollDelta" "-1" Option "HorizScrollDelta" "-1" EndSection