启用 Alienware 17R4 的宏键并在 Ubuntu 16.04 上使用它们

启用 Alienware 17R4 的宏键并在 Ubuntu 16.04 上使用它们

我有一台 Alienware 17R4,左侧有 6 个宏键,名称为:x、1、2、3、4、5
,右侧键盘顶部有 4 个宏键,名称为:6、7、8、9。
在 Windows 上,我可以使用 x 宏键在三种不同模式之间切换编号为 1 到 5 的宏键。所以基本上有 15 个宏键,而不是 5 个。
我的问题是如何在 Ubuntu 上执行相同操作?

值得一提的是:

使用命令showkey时,我甚至无法获取按下宏键时的扫描码。此外,在输出中,xmodmap -pke某些键有一些空行,这证实了我的假设。所以我该如何启用它们?因为一旦启用它们,我就可以使用它们的扫描代码为它们分配宏。此外_我如何使用 x 宏键来切换它们的模式?

答案1

我的 AW15R3 也遇到了同样的问题,并且已经解决了

首先在 ubuntu 上安装以下软件包

sudo apt install  ghc libusb-1.0-0-dev cabal-install git pkg-config python-usb -y

然后通过以下命令获取每个键的扫描码:

dmesg | grep -i code

例如,当我按下宏键 4 时,会打印以下消息,表明扫描码是e015

[ 1737.342249] atkbd serio0: Unknown key released (translated set 2, code 0x95 on isa0060/serio0).

现在“e015”是扫描码,您需要将其映射到系统中的空闲键码。这可以通过运行来实现sudo setkeycodes e011 204 ,因此请创建一个脚本,/etc/init.d将扫描码映射到所有键可用的空闲键码。

请注意,您需要在 Linux 控制台上执行以下命令,而不是在 x-server 上执行(++Ctrl从X 切换到 Linux 控制台)。使用并将代码映射到键码:ShiftF3sudo vim /etc/init.d/keyremap

sudo setkeycodes e011 146
sudo setkeycodes e012 148
sudo setkeycodes e013 149
sudo setkeycodes e014 203
sudo setkeycodes e015 204
sudo setkeycodes e016 184

然后使脚本可执行chmod +x keyremap

最后使用xmodmap实用程序将键码映射到键符号,以便您的 Xorg 可以理解并捕获按键事件vim ~/.Xmodmap

  keycode 154 = XF86Launch0
  keycode 156 = XF86Launch1
  keycode 157 = XF86Launch2
  keycode 211 = XF86Launch3
  keycode 212 = XF86Launch4
  keycode 172 = XF86Launch5

然后运行sudo xmodmap ~/.Xmodmap

现在您可以XF86Launchx使用键盘快捷键将其映射到任何操作:

在此处输入图片描述

您可以创建一个条目,rc.local以便这些脚本在机器启动时自动执行。

相关内容