web-dev-qa-db-ja.com

Alienware 17R4のマクロキーを有効にしてUbuntu 16.04で利用する

だから、左側に6つのマクロキーを持つAlienware 17R4があります:x、1,2,3,4,5
およびキーパッド上部の4つのマクロキー(6、7、8、9)。
Windowsでは、xマクロキーを使用して、1〜5の番号のマクロキーを3つの異なるモード間で切り替えることができます。したがって、基本的には5ではなく15のマクロキーがあります。
私の質問は、Ubuntuでも同じことができますか?

言及する価値があるもの:

コマンドshowkeyを使用すると、マクロキーを押してもスキャンコードを取得できません。また、xmodmap -pkeの出力には、特定のキーにいくつかの空の行があり、これが私の仮定を正しくしています。 どのように有効化できますか?有効化されると、スキャンコードを使用してマクロを割り当てることができるためです。また、_ xマクロキーを使用してモードを切り替えるにはどうすればよいですか?

4
user746434

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の下にスクリプトを作成して、スキャンコードをすべてのキーで使用可能な無料のキーコードにマッピングします。

XサーバーではなくLinuxコンソールで以下のコマンドを実行する必要があることに注意してください(Ctrl+Shift+F3 XからLinuxコンソールに切り替えるには)。 Sudo 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ユーティリティを使用してキーコードをkeysymにマッピングし、vim ~/.Xmodmapを使用してXorgがキーイベントを理解してキャッチできるようにします。

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

次にSudo xmodmap ~/.Xmodmapを実行します

これで、キーボードショートカットを使用して、XF86Launchxを任意のアクションにマッピングできます。

enter image description here

rc.localにエントリを作成して、マシンの起動時にこれらのスクリプトが自動的に実行されるようにすることができます。

2
Basim Aly