如何将上下文菜单重新映射到linux中的另一个键?

我刚刚购买了联想thinkpad,我为其中的一切感到自豪。 它感觉像Linux内核一样坚如磐石:P。

问题是联想决定删除上下文菜单键,这是执行右键单击的关键。 他们用打印屏幕键取而代之。 我的键盘有数字部分,上面有一些按钮。 有一个放大镜键,我想重新映射以打开上下文菜单或是右键单击键。 是否有可能做到这一点?

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

提前致谢。

这有点复杂,但你可以做到。 跟着这些步骤:

检测键码

  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. 将当前的keymap表保存到$HOME ,以覆盖defau:

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

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

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

请享用

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

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

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

PS:我也有e530c,我在Debian 7(Wheezy)上测试了这个。

经过数小时的测试后我终于找到了这样做的方法并且失败了:D

首先安装xautomation:

 sudo apt-get install xautomation 

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

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

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

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

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

为什么其他答案不会完全奏效?

  1. @Ed Villegas (也不是@Null Pointer )的答案不起作用,因为位于数字部分上方的一些键不是他们自己的唯一键( 例如 ,锁定键与Super + L组合有关)。 当xev用于尝试查找锁定键码时,它返回SuperL键码,您只需xev解释xev输出。

  2. 对于@Bahax和@John Finegan : Shift + F10是一个上下文菜单键,它不适用于所有应用程序,它不提供与Menu相同的function。 如果您在文件资源管理器中选择一个文件并按菜单 ,则应弹出文件本身的上下文菜单,这不会发生在Shift + F10组合中,而是会为窗口提供上下文菜单。

  3. @Danial Behzadi对第二项中的人采取了类似的方法,但通过击键模拟器将键盘组合链接到一个键,它会将键链接到Shift + F10并提供相同的结果。

答案有效

重要的是要考虑到ThinkPad键盘中没有的键是菜单 (即它的名称),如下图所示:

菜单键

虽然密钥不存在,但它的密钥代码应存在于您的计算机中,您可以通过使用xmodmap -pke | grep Menu打印密钥代码表来找到它xmodmap -pke | grep Menu xmodmap -pke | grep Menu应该给你这样的东西:

xmodmap输出

考虑到这一点,安装xautomation (以便使用xte进行击键模拟),如@Danial Behzadi回答:

sudo apt-get install xautomation

并创建一个自定义快捷方式,在Trigger中按下您想要成为快捷键的键,并在Action粘贴xte 'key Menu'申请并测试。

这对我有用。 对我来说,我的thinkpad上的“PrtSc”按钮的键码是107.我在ubuntu中通过“xev”工具找到了它。

 xmodmap -e "keycode 107 = Menu" 

这是一个暂时的变化。

您可以通过将此命令添加到/ etc / profile来使其永久化,并且每次启动时它都会执行,这将是永久性的更改。