为什么其他答案完全不起作用?

为什么其他答案完全不起作用?

我刚买了一台联想 ThinkPad,我对它的一切都很满意。它感觉就像 Linux 内核一样坚固 :P。

问题是联想决定删除上下文菜单键,也就是执行右键单击操作的键。他们用打印屏幕键代替了它。我的键盘有数字部分,上面有一些按钮。有一个放大镜键,我想重新映射以打开上下文菜单或作为右键单击键。可以这样做吗?

我尝试搜索其他相关问题,但只找到了有关如何向 Nautilus 上下文菜单添加选项的问答。我想映射键盘上的一个物理键来打开此菜单。就像以前一样。戴尔似乎也在他们的 inspiron 键盘中放弃了这个键。我不知道发生了什么,因为我使用键盘的次数比鼠标多。

提前致谢。

答案1

这有点复杂,但你可以做到。请按照以下步骤操作:

检测键码

  1. 运行xev检测键码:

    xev | grep keycode
    
            state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
            state 0x0, keycode 107 (keysym 0xff67, Menu), same_screen YES,
            state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    
  2. 按下要重新配置的键。终端中的输出将显示keycode(小心,可能会有多个)。

测试映射

  1. 临时设置新的映射,对我来说它是keycode 107

    xmodmap -e "keycode  107 = Return NoSymbol Return"
    

如果密钥表现符合预期,则可以保存配置。

保存你的配置

  1. 将当前的键盘映射表保存到您的$HOME,以覆盖默认值:

    xmodmap -pke > ~/.Xmodmap
    
  2. 创建或编辑~/.xinitrc以加载您的配置:

    $EDITOR ~/.xinitrc
    
  3. 添加以下行

    if [ -f $HOME/.Xmodmap ]; then
            /usr/bin/xmodmap $HOME/.Xmodmap
    fi
    

享受

以上大部分信息来自ArchWiki 文章

答案2

我发现这里使用:shift+F10打开上下文菜单。

我知道这不是最好的解决方案,但我认为它可以起到临时作用!

附言:我也有 e530c,并且我在 Debian 7(Wheezy)上对其进行了测试。

答案3

我最近购买了一台联想 E550 并且遇到了同样的问题,我通过使用xte(来自xautomation)和解决了这个问题xmodmap

为什么其他答案完全不起作用?

  1. @Ed Villegas(也不@Null 指针)答案不起作用,因为位于数字部分上方的某些键本身并不是唯一键(例如Super锁键与+组合相关L。当xev用于尝试查找锁键 keycode 时,它​​会返回和Superkeycode L,您只需xev逐行解释输出即可。

  2. 为了@Bahax@约翰·芬根: Shift+F10是上下文菜单键,它不适用于所有应用程序,也不提供与 相同的功能Menu。如果您在文件资源管理器中选择一个文件并按下 文件本身的上下文菜单,则应该会弹出该文件本身的上下文菜单,而使用+组合Menu则不会发生这种情况,它会为窗口提供上下文菜单。ShiftF10

  3. @Danial Behzadi采用与第二项中类似的方法,但通过按键模拟器将键盘组合链接到一个键,它会将该键链接到 +ShiftF10提供相同的结果。

有效的答案

重要的是要考虑到 ThinkPad 键盘上不存在的键是Menu(这是它的名字),如下图所示:

菜单键

尽管密钥不存在,但它的密钥代码应该存在于您的计算机中,您可以通过打印密钥代码表来找到它,xmodmap -pke | grep Menu该表应该会给您类似如下的内容:

xmodmap 输出

考虑到这一点,安装xautomation(以便用于xte按键模拟)如下@Danial Behzadi回答:

sudo apt-get install xautomation

并创建自定义快捷方式,在扳机按下您想要作为快捷方式的键,然后Action粘贴xte 'key Menu'申请并测试。

答案4

经过几个小时的测试和失败后,我终于找到了解决方法:D

首先安装 xautomation:

sudo apt-get install xautomation

然后转到 Ubuntu 系统设置中键盘部分的快捷键选项卡。首先转到屏幕截图条目并将操作重新映射到另一个键或禁用它们(如果需要)。我用 Thinkpad 黑色按钮(Launch1)替换了 PrtSc(打印)键。

现在转到“自定义快捷方式”部分并添加快捷方式。将其命名为您喜欢的任何名称,例如菜单。在命令字段中插入以下内容:

xte 'keydown Shift_L' 'key F10' 'keyup Shift_L'

工作完成了!它就像一个奇迹 ;)

相关内容