鼠标文本选择以使用中键粘贴缓冲区

Dav*_*vis 7 mouse xubuntu click-policy

背景

我有一个Logitech Marble Mouse Trackball,其滚动能力配置如下:

#!/bin/bash

dev="Logitech USB Trackball"
we="Evdev Wheel Emulation"
xinput set-int-prop "$dev" "$we Button" 8 8
xinput set-int-prop "$dev" "$we" 8 1
Run Code Online (Sandbox Code Playgroud)

这使我可以按住左侧的小按钮并通过上下滚动轨迹球来滚动,左右运动无效。

这是运行 Xfce 的 Xubuntu 12.04 LTS 的全新安装。

问题

使用 Kubuntu(以及许多其他桌面环境),我能够:

  1. 用鼠标选择文本(通过拖动选择或双击/三次单击单词)。
  2. 中键单击(模拟为小右键)以粘贴到另一个窗口(或同一窗口)。

我尝试使用以下方法重新启用该行为:

运行gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true返回No such schema 'org.gnome.settings-daemon.peripherals.mouse'

dconf-editor工具不显示org::gnome::settings-daemon::peripherals::mouse。我能找到的最接近的是org.gnome.desktop.a11y.mouse,但它没有middle-button-enabled.

如何为轨迹球启用“中键单击”,以便小右键执行复制缓冲区的粘贴?

Dav*_*vis 6

配置

按照这些说明这个答案这个文件

  1. 不要执行问题中显示的脚本。
  2. 编辑/usr/share/X11/xorg.conf.d/10-evdev.conf
  3. 附加以下几行:
    “输入类”部分
        标识符“大理石鼠标”
        匹配产品“罗技 USB 轨迹球”
        MatchIsPointer“开启”
        MatchDevicePath "/dev/input/event*"
        驱动程序“evdev”
        选项“按钮映射”“1 9 3 4 5 6 7 8 2”
        选项“EmulateWheel”“真”
        选项“EmulateWheelButton”“8”
        选项“ZAxisMapping”“4 5”
        选项“XAxisMapping”“6 7”
        选项“Emulate3Buttons”“真”
    结束部分
    
  4. 保存并重启 X。

重启 X

启用Ctrl-Alt-Backspace重启X如下:

echo setxkbmap -option terminate:ctrl_alt_bksp >> ~/.xprofile
chmod +x ~/.xprofile
~/.xprofile
Run Code Online (Sandbox Code Playgroud)

这个:

  1. 将左小按钮设置为滚轮激活器(单击并按住以滚动)。
  2. 将左小按钮设置为“后退按钮”(单击,不滚动)。
  3. 将右小按钮设置为中键粘贴。
  4. 启用水平和垂直滚动。
  5. 在和弦单击时禁用两个大按钮。

附录

之后重启重启X,我发现滚动不再工作,可能是由于升级。如果您遇到这种情况,请尝试:

  1. 删除以下文件(我将我的文件移至~/.):
    /usr/share/X11/xorg.conf.d/50-vmmouse.conf
    /usr/share/X11/xorg.conf.d/50-marblemouse.conf
    /usr/share/X11/xorg.conf.d/11-evdev-quirks.conf
    
  2. 从以下位置删除任何其他鼠标输入设备设置:
    /etc/X11/xorg.conf
    

确认

使用以下方法验证设置(其中 8 是设备编号;您的设备编号可能会有所不同):

xinput get-button-map 8
Run Code Online (Sandbox Code Playgroud)