如何将中键按下分配给笔记本电脑中的特定键?

719*_*016 9 touchpad keyboard keyboard-layout

如何将中间按钮按下连接到笔记本电脑中的特定键?如果我点击触摸板的右上角,我可以做中间按钮,但我想将它与一个键相关联,比如“windows”键或“菜单”键。

有没有办法做到这一点?

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

fos*_*dom 11

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

安装先决条件

安装包xkbset

sudo apt-get install xkbset
Run Code Online (Sandbox Code Playgroud)

定义键盘布局

接下来,您需要定义您使用的键盘布局。在我的情况下,英国/英国键盘布局为gb,美国为我们

setxkbmap -layout gb
Run Code Online (Sandbox Code Playgroud)

注意:如果你运行

setxkbmap -query
Run Code Online (Sandbox Code Playgroud)

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

rules:      evdev
model:      pc105
layout:     gb
Run Code Online (Sandbox Code Playgroud)

接下来定义我们将下一个映射鼠标键:

xkbset m
xkbset exp =m
Run Code Online (Sandbox Code Playgroud)

查找Menu密钥代码

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

在此处输入图片说明

最终结果

在我的情况下,我的Menu键码是值 135,这将映射到鼠标按钮 2

xmodmap -e "keycode 135 = Pointer_Button2"
Run Code Online (Sandbox Code Playgroud)

测试如下:

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

把这一切放在一起:

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

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

gedit ~/remapkeys
Run Code Online (Sandbox Code Playgroud)

现在复制并粘贴以下内容

#!/bin/sh
setxkbmap -layout gb
xkbset m
xkbset exp =m
xmodmap -e "keycode 135 = Pointer_Button2"
Run Code Online (Sandbox Code Playgroud)

节省。赋予文件执行权限

chmod +x ~/remapkeys
Run Code Online (Sandbox Code Playgroud)

然后从 Dash 搜索启动应用程序,或者如果使用 Gnome Classic - Applications - Other - Startup Applications

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

在此处输入图片说明

命令应该是:

bash -c "sleep 5 && ~/remapkeys"
Run Code Online (Sandbox Code Playgroud)

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


小智 5

首先,安装 xautomation:

sudo apt-get install xautomation

您可以使用 xte 发送一个中键事件:

xte 'mouseclick 2'

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

当我尝试这个时,我无法将操作绑定到 Windows 键。您可以通过执行以下操作来尝试它,但似乎存在阻止此操作的错误:

打开终端并运行

gconf-editor

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

xte 'mouseclick 2'

底部窗格中应该只有一个结果。如果还有更多,请选择名称中包含“/desktop/gnome/keybindings/custom*/action”的那个。在右上角的窗格中,在“绑定”字段旁边输入 ''(不带引号)。如果你得到和我一样的结果,你所有的窗口外观都会改变,新的键绑定不会做任何事情。将其改回原样(或将其设为空白)并打开外观(首选项 -> 外观或统一搜索下的“外观”)。那应该可以解决问题。