在 Ubuntu 16.04 中,我在 Dell Precision 5510 笔记本电脑上使用 XFCE4。如何配置鼠标+键盘设置?
我想改变 Alt+鼠标中键的行为,目前该行为会将点击的窗口发送到堆栈底部。我想在外接鼠标和触摸板上都改变这一点。我想知道如何改变所有键+鼠标组合,但如果我只能改变那一个,我会很高兴。
我发现了 3 组影响窗口管理器的配置,但没有一个允许我编辑鼠标按钮/键修饰符组合。在设置面板,我明白了
- 窗口管理器
- 键盘
- 设置编辑器
这里有一个关于 XFCE 键盘设置的非常好的总结 https://forums.linuxmint.com/viewtopic.php?t=212982 它有指向我提到的配置器的指针。过去,我曾找到在 KDE、Compiz 和 Gnome 中调整这些设置的方法。但 XFCE4 更难。
我使用 libinput 作为设备和触摸板驱动程序。我觉得我遇到的是窗口管理器/桌面配置问题,而不是 libinput 问题,但如果您告诉我不是,我会相信您。
答案1
我在 XFCE4 支持论坛问了同样的问题。https://forum.xfce.org/viewtopic.php?pid=43174#p43174
答案是 Alt-Middle 单击行为(将窗口推到堆栈底部)在 xfwm4 源代码中是硬编码的。更改它的唯一方法是重新编译 xfwm4。热心人士指出了 src 文件 events.c 第 928 行以供修订。我发现构建新包很容易,现在 xfwm4 的行为符合我的要求!
如果你还没有亲自尝试过,那么这个过程比你想象的要简单得多。它似乎比 18 个月前好多了。简而言之,获取软件包的源代码,修改源代码,尝试重建,让它打补丁,然后再次构建。
$ sudo apt-get build-dep xfwm4
$ mkdir -p tmp/xfmw4
$ cd tmp/xfwm4
$ apt-get source xfwm4
$ cd xfwm4-4.12.3/src
$ vi events.c
在该文件中我做了更正,形成了此补丁文件。
+++ xfwm4-4.12.3/src/events.c
@@ -925,7 +925,8 @@ handleButtonPress (DisplayInfo *display_
}
else if ((ev->button == Button2) && (state) && (state == screen_info->params->easy_click))
{
- clientLower (c, None);
+ /* clientLower (c, None); */
+ button1Action (c, ev);
}
else if ((ev->button == Button3) && (state) && (state == screen_info->params->easy_click))
{
这会导致 Alt-Middle 和 Alt-Left 行为相同。我在源代码中修改了这些行,然后运行
$ dpkg-buildpackage -rfakeroot
在这个程序的新版本中,有一个非常方便的功能。生成器注意到您编辑了文件,它会为您制作一个补丁,并将该补丁放在 debian 目录中的 patches 下。阅读输出,您就会明白该做什么。
$ dpkg-source commit
再次运行构建器之前,请编辑变更日志以更新版本。最简单的方法是使用名为“dch”的助手
$ dch
打开一个对话框,您需要确保您正在增加软件包名称,以便当您安装将要构建的新 xfwm4 时,它会获得一个新编号。
然后再次运行构建器
$ dpkg-buildpackage -rfakeroot
如果一切顺利,那么新的软件包将会位于上面的目录中。
$ cd ..
$ sudo dpkg -i xfwm4_4.12.3-1ubuntu4_amd64.deb
$ xfwm4 --replace &
您将立即看到改变的效果。
如果你从未重建过 Debian/Ubuntu 软件包,你不妨下载源代码并尝试一下。这是作为 Linux 用户最令人满意的部分之一。
xfwm4 中的这一变化对我帮助很大,因为这个触摸板非常难用。如果不低头看触摸板,我根本无法确切地知道左键区域的结束位置和中键的开始位置。我的右手拇指伸得不够远,找不到左键。通过使左键和中键的 Alt-Click 行为相同,我大大降低了错误率。
我会用原始人的语言对戴尔说:“触控板不好!按钮好!”我知道我在这里已经过时了。