Используя переключатель Belkin KVM. Обычно я могу дважды нажать scroll-lock и выбрать номер, соответствующий машине, на которую я хочу переключиться, однако с тех пор, как я обновился с 12.10 до 13.04 Beta 2, двойное нажатие scroll-lock больше не переключает машины.
Я предполагал, что это «двойное нажатие» жестко запрограммировано в блоке KVM и должновсегдаработа, но, похоже, я ошибался.
Есть у кого-нибудь идеи? KVM — это Belkin 2-портовый 1DL102P (со встроенными кабелями и поддержкой звука), и на самом устройстве нет никаких кнопок, поэтому нет кнопок «ручного управления» или «жесткого сброса».
Выглядит так:
Есть мысли, идеи или предложения? Это какой-то глюк с привязкой клавиш?
решение1
Переключается ли он при вызове этого скрипта?
#!/bin/bash
SLEEP=0.2
LEDMASK=4
LEDNAME="Scroll Lock"
xmessage -timeout 1 "Switching..." &
STATE="$(( $(xset q | awk '/LED/ {print $10}') & LEDMASK ))"
test $STATE -eq $LEDMASK && xset -led named "$LEDNAME" && sleep $SLEEP
xset led named "$LEDNAME"
sleep $SLEEP
xset -led named "$LEDNAME"
sleep $SLEEP
xset led named "$LEDNAME"
test $STATE -ne $LEDMASK && sleep $SLEEP && xset -led named "$LEDNAME"
решение2
Хорошо, похоже, что отключение адаптеров клавиатуры/мыши KVM от обоих компьютеров и их повторное подключение послужило своего рода «жестким сбросом», поскольку теперь все снова работает.
Поскольку данное устройство получает питание от портов PS2, а не от адаптера переменного тока, отсоединение кабелей PS2 решило проблему.
решение3
Ответ uli42 был ключевым, когда он работал на моем Syba KVM. KVM не слушает сигнал «нажатие клавиши» с клавиатуры на ПК, а сигнал «установка светодиода» с ПК на клавиатуру... вероятно, чтобы он мог использовать поддержку ОС для всех видов различных раскладок клавиатуры и Just Work™, если опытный пользователь, купивший KVM, настроил свою раскладку клавиатуры.
Черт возьми, в руководстве к моему Syba KVM сказано, что эта функция «работает только в Windows», и, оглядываясь назад, я понимаю, что это было важной подсказкой.
(В macOS нет концепции Scroll Lock, и она не переключает светодиод, а конфигурация клавиатуры X11 по умолчанию оставляет Scroll Lock неактивной уже давно.)
Повторное добавление привязки с помощью чего-то вроде этого
xmodmap -e 'add mod3 = Scroll_Lock'
заставит его работать в X11 так же, как в Windows.
(У меня нет времени это проверить, но я полагаю, что вы могли бы заставить ту же мышечную память работать на любом Mac, написав какой-нибудь скрипт для переключения светодиода блокировки прокрутки, а затем привязав его к F14.)
Что касается Wayland, спросите разработчиков вашего конкретного DE. В последний раз, когда я этим интересовался, автор libinput оставлял разработку собственных решений, эквивалентных командам , и т. д., на усмотрение каждого композитора xmodmap
Wayland setxkbmap
.
В качестве альтернативы вы можете сделать это одним нажатием клавиши, оставив ее mod3
свободной и используя что-то вроде xbindkeys
этого для запуска скрипта при Scroll_Lock
нажатии клавиши.
#!/bin/sh
LEDNAME="Scroll Lock"
echo "Switching KVM..."
xset led named "$LEDNAME"
sleep 0.5
xset -led named "$LEDNAME"