Итак, у меня есть Alienware 17R4, у которого есть 6 Macrokeys с левой стороны: x, 1,2,3,4,5 и 4 макрокоманды на верхней панели клавиатуры справа: 6,7,8, 9 В окнах я могу использовать макрос x для переключения макрокоманд с номерами от 1 до 5 между тремя различными режимами. Так что в основном есть 15 макрокоманд вместо 5. Мой вопрос в том, как я могу сделать то же самое на Ubuntu?
Вещи, о которых стоит упомянуть:
Используя команду showkey , я даже не могу получить scancode для макрокоманд, когда я их нажимаю. Также на выходе 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, печатается следующее сообщение, указывающее, что scancode - 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-сервере (Ctrl + Shift + F3 для переключения на консоль Linux с X). Используйте 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 для сопоставления кодов клавиш с клавишами поэтому ваш 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, чтобы эти сценарии выполнялись автоматически при загрузке машины.
У меня такая же проблема на моем AW15R3 и он решил
сначала установить следующие пакеты на ubuntu
sudo apt install ghc libusb-1.0-0-dev cabal-install git pkg-config python-usb -y
, затем получить код сканирования каждого ключа из следующей команды :
dmesg | grep -i code
, например, когда я нажимаю клавишу макроса 4, печатается следующее сообщение, указывающее, что scancode - 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-сервере (Ctrl + Shift + F3 для переключения на консоль Linux с X). Используйте 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 для сопоставления кодов клавиш с клавишами поэтому ваш 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, чтобы эти сценарии выполнялись автоматически при загрузке машины.