だから、左側に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マクロキーを使用してモードを切り替えるにはどうすればよいですか?
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
を任意のアクションにマッピングできます。
rc.local
にエントリを作成して、マシンの起動時にこれらのスクリプトが自動的に実行されるようにすることができます。