Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Ну вот досталась мне такая клавиатура

apple-aluminum-keyboard.jpg.13683196442f217dfbacfa5c21c16334.jpg

 

Вроде норм, клавиши тихие НО нет ни PrintScreen ни Insert (ну там еще SysReq нет и ScrollLock - но на них неважно)

Еще и Fхх работают работают через жопу кнопку fn, что ну бесит ваще.

 

У Beryllium нету гуевой тулзы для настройки клавиатуры.

Через lsusb клава вполне видна т.е. определилась

апришлось колдунствовать с гуглей помощью.

 

Чтоб F кнопки работали сразу нужно в rc.local (которого нет и нужно сделать, ну или вариант в автостарт как угодно )

вставить строчку

echo 2 > /sys/module/hid_apple/parameters/fnmode

и F кнопки будут работать как обычно

И так как кнопок F аж 19 штук то Ins повесил через xmodmap на F13

И соплю на привычное место слева от 1

в .Xmodmap

keycode 94 = grave asciitilde Cyrillic_io  Cyrillic_IO
keycode 191 = Insert NoSymbol Insert NoSymbol Insert NoSymbol

PrintScreen работать не захотел, разбираться ялениво - хотя через xev кейкоды всех F клавиш показываются.

Поэтому  в .xbindkeysrc  дописал поменял

# Print Screen (xfce)
"xfce4-screenshooter"
    Mod4 + p

#    Print
 

ну вот и все.... почти

потом мне не понравилось что левый Alt мелкий и близко к Ctrl - переключать чтоб раскладку не удобно.

Поменял Alt_L и Super_L (на клаве называется Cmd)

это в тот же .Xmodmap

clear Mod1
clear Mod4
keycode 64 = Super_L
keycode 133 = Alt_L
add Mod1 = Alt_L
add Mod4 = Super_L

Но после этого вывалился  индикатор раскладок fbxkb  с сообщением  kbd group numbering is not continuous

пришлось поменять на gxkb - оно даже лучше оказалось, у fbxkb фон на флаге индикатора был на всю ширину панельки

Ну потом строку xmodmap ~/.Xmodmap  в автостарт

только сразу работать отказалось, когда перед строкой sleep 5 поставил - тогда заработало

 

 

 

 

Опубликовано

Продолжение чтоль

Компа два, включены через KVM D-Link который переключается с клавиатуры по двойному Caps

После переключения, т.к. клава типа по новой подключается - то все настройки xmodmap сбрасываются

Итаг, получилось что для обмена Alt_L на Super_L достаточно такой строчки в rc.local

echo 1 > /sys/module/hid_apple/parameters/swap_opt_cmd

А для xmodmap пришлось сделать файл  /udev/rules.d/00-applekbd.rule

в котором

ACTION=="add", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="0250", RUN+="/home/user/kbdudev", OWNER="user"

значения idVendor и idProduct смотрятся через lsusb

 

файл kbdudev содержит

#!/bin/bash
/home/user/apple &

 

т.к. на прямую из файла rules команда xmodmap ~/.Xmodmap не выполняется

а уже в файле apple

#!/bin/bash
sleep 1
DISPLAY=":0.0"
HOME=/home/user/
XAUTHORITY=$HOME/.Xauthority
export DISPLAY XAUTHORITY HOME
daskb_id=`xinput -list | grep -i 'apple' | grep -o id=[0-9]. | grep -o [0-9]. | head -1`


if [ "${daskb_id}" ]; then
    xmodmap /home/user/.Xmodmap
fi

 

Вот такое вот колдунство с клавой от огрызка

 

 

  • 4 недели спустя...
Опубликовано

Вобщем не совсем проканало.

То ins пропадет в некоторых окнах после переключения, то раскладка клавы слетит на другую комбинацию...

Вот так сказать глубинное решение.

Гуглил много, нашел тож много. Ниже уже готовая инструкция!

 

hardware --scancode--> kernel --keycode--> X11 --> keysym --> application

так работает печать символов с клавиатуры

Погнали

Ставим evtest и запускаем

 

_2023-05-05_14-18-25.png.1b364addd60ac135dd3bbe9a235831e3.png

как видно огрызок идет под номерами14 и 15

Почему два не знаю, имха от квм-а т.к. один огрызок всегда 14 а второй бывает и 18

интересует 14 - его и пишем,

потом жмем на F13 и F15 (это будет ins и принтскрин)

 

_2023-05-05_14-21-58.png.da319fe9957a325d32c37c57b5fe1880.png

видно что сканкод для F13 это 70068 а для F15 7006a

потом надо посмотреть версию udevadmin-а

udevadm info --ver

у меня 247

потом

udevadm info /dev/input/event14

и надо запомнить ID_VENDOR_ID=05ac

потом

find /sys -name *modalias | xargs grep -i 05ac

и найти кусок

modalias:input:b0003v05ACp0250e0111-e0,

который до 000250 совпадает с

modalias:hid:b0003g0000v000005ACp00000250

ну и соотвестввенно сделать файл  /etc/udev/hwdb.d/98-apple-keyboard.hwdb

с содержимым

evdev:input:b0003v05ACp0250*
KEYBOARD_KEY_70068=insert
# F13: Insert
KEYBOARD_KEY_7006a=print
# F15: PrinScr

 

обязательно пробел перед KEYBOARD_KEY

после для проверки

udevadm hwdb --update и devadm trigger

это применит все верхние действия

для проверки

udevadm info /dev/input/event14 | grep KEYB

должно быть примерно так

_2023-05-05_14-42-09.png.a30ad313d0f591d130d3f0e851a73ca0.png

ну и все, при перезагрузке F13 и F15 теперь будут как надо

теперь чтоб поменять alt с cmd местами и сделать все Fx кнопки нормальными, без fn

echo options hid_apple fnmode=2 | sudo tee -a /etc/modprobe.d/hid_apple.conf
echo options hid_apple swap_opt_cmd=1 | sudo tee -a /etc/modprobe.d/hid_apple.conf
sudo update-initramfs -u -k all

ну и reboot

теперь что надо работает и при переключении квм, и при включении light-locker и всяко разно

 

инфа бралась

здесь_1

здесь_2

здесь_3

здесь_4
 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...