如何将中间按钮按下指定给笔记本电脑上的特定键?

如何将中间按钮按下指定给笔记本电脑上的特定键?

如何将中键按下与笔记本电脑上的特定键关联?如果我点击触摸板的右上角,我可以使用中键,但我想将其与某个键关联,例如“windows”键或“menu”键。

有没有办法做到这一点?

当前答案不适用于具有经典 gnome-failsafe 桌面的 Ubuntu 11.10。我需要有人弄清楚如何为更新的 Ubuntu 版本做到这一点。

答案1

重新映射菜单关键您需要执行以下操作。

安装先决条件

安装包xkbset

sudo apt-get install xkbset

定义键盘布局

接下来你需要定义你使用的键盘布局。就我而言英国用于英国键盘布局或我们针对美国

setxkbmap -layout gb

注意:如果你运行

setxkbmap -query

它将为您提供以下输出 - 如果型号和布局是您的键盘,那么您使用的是正确的布局

rules:      evdev
model:      pc105
layout:     gb

接下来定义我们将要映射的鼠标键:

xkbset m
xkbset exp =m

查找Menu密钥代码

映射Menu按键。为此,我们需要Menu按键代码。在终端运行中xev,将鼠标移到方框内并按下Menu按键。

在此处输入图片描述

最终结果

在我的例子中,我的Menu键码是值 135,它将映射到鼠标按钮 2

xmodmap -e "keycode 135 = Pointer_Button2"

测试如下:

  1. 在终端中复制一些文本 - 启动粘贴操作
  2. 将鼠标悬停在标题栏上 - 窗口移至背景

综合起来:

好的,一旦我们计算出正确的密钥代码,我们就可以将它们放在一起从登录开始。

首先在主文件夹中创建一个名为remapkeys

gedit ~/remapkeys

现在复制并粘贴以下内容

#!/bin/sh
setxkbmap -layout gb
xkbset m
xkbset exp =m
xmodmap -e "keycode 135 = Pointer_Button2"

保存。赋予文件执行权限

chmod +x ~/remapkeys

然后从 Dash 搜索启动应用程序或者如果使用 Gnome Classic - 应用程序 - 其他 - 启动应用程序

添加新的启动应用程序条目

在此处输入图片描述

命令应该是:

bash -c "sleep 5 && ~/remapkeys"

该命令会休眠 5 秒钟,以便您的桌面在运行新脚本之前出现 - 如果您的桌面在 5 秒内没有出现(也许您使用的上网本速度很慢?)则将此超时时间增加到 10 或 15 秒。注销并登录进行测试。

答案2

首先,安装 xautomation:

sudo apt-get install xautomation

您可以使用 xte 发送中键单击事​​件:

xte 'mouseclick 2'

您可以在“首选项”->“键盘快捷键”(或 Unity 搜索中的“键盘快捷键”)下为其创建自定义快捷键。单击“添加”,输入名称和上述命令,然后单击“应用”。滚动到底部并设置快捷方式,就像设置其他任何操作一样。

当我尝试此操作时,我无法将操作绑定到 Windows 键。您可以尝试执行以下操作,但似乎有一个错误阻止此功能正常工作:

打开终端并运行

gconf-editor

按 Ctrl+f,选择“在键值中搜索”框,然后在搜索框中输入以下内容:

xte 'mouseclick 2'

底部窗格中应该只有一个结果。如果有更多结果,请选择名称中包含“/desktop/gnome/keybindings/custom*/action”的结果。在右上方窗格中,在“绑定”字段旁边输入“”(不带引号)。如果您得到的结果与我相同,则所有窗口外观都将更改,并且新的键绑定不会执行任何操作。将其改回原来的状态(或将其留空)并打开外观(首选项 -> 外观或 Unity 搜索下的“外观”)。这应该可以解决问题。

答案3

我想指出的是,对于其他人来说(因为我在寻找自己的鼠标时发现过几次这个问题),一些罗技鼠标有几个按钮(在我的 MX1100 上,它们默认是“DPI +/-”按钮)不会向 USB 接收器发送信号。

可以覆盖此设置并让鼠标向鼠标驱动程序报告按钮按下情况,但该过程并不方便用户使用(甚至难以复制,因为每个鼠标似乎都不同)。“lomoco”软件包显然适用于某些用户,但有一段时间没有针对较新的鼠标进行更新。

相关内容