Qt应用程序违反Xmodmap

Modified on: Wed, 04 Jul 2018 01:51:00 +0800

很久以前,我创建了一个~/.Xmodmap来反转45来创建“自然滚动”:

pointer = 1 2 3 5 4 7 6 8 9 10 11 12

我以标准方式(.Xmodmap)在.xinitrc中获取xmodmap $HOME/.Xmodmap &
这已经有好几年没有问题。

我刚刚安装了名为cockatrice的应用程序。我没有该程序的其他问题,除了由于某种原因,当我在程序内滚动时,我的滚动方向不是“自然的”(即,就好像我的.Xmodmap不是只有这个应用程序才能遵守。)

起初,我认为这是我的Qt输入模块的一个问题,但我意识到我已经在QT_IM_MODULE,我从来没有遇到过这个问题。

这是特定于应用程序的问题,还是特定于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
作者:,HalosGhost

最佳答案

它似乎是Qt特定的(从尝试Qt助手)。
我认为这是因为Qt仅使用滚动距离进行车轮事件。

您可以将滚动距离设置为负值,而不是在此处使用xmodmap。

您可以通过/etc/X11/xorg.conf.d/中的文件为evdev管理的鼠标设置它:

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应该列出触摸板的属性。由于它是一个synaptics触摸板,来自此手册页该财产应该是:

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
作者:,Leiaz

相关问答

添加新评论