У меня есть сервер Linux Synergy (Si-Linux), обслуживающий только одного клиента Mac (Macbook Pro UK) (SiBook-Pro.local).
На моем Linux-сервере я использую USB-клавиатуру Apple с точной раскладкой клавиатуры ноутбука (компактная алюминиевая клавиатура Великобритании).
Я хотел бы постоянно отправлять медиа-ключи клиенту Mac, и я попытался сделать следующее в моем synergy.conf
:
keystroke(AudioPlay) = keystroke(AudioPlay,SiBook-Pro.local)
Похоже, это не сработало, поэтому я запустил сервер и клиент в качестве процессов переднего плана и с включенной отладкой и заметил следующее:
Журнал сервера:
DEBUG1: activate actions
DEBUG1: hotkey: keyDown(AudioPlay,SiBook-Pro.local)
DEBUG1: onKeyDown id=57523 mask=0x0000 button=0x0000
DEBUG1: send key down to "SiBook-Pro.local" id=57523, mask=0x0000, button=0x0000
DEBUG1: deactivate actions
DEBUG1: hotkey: keyUp(AudioPlay,SiBook-Pro.local)
DEBUG1: onKeyUp id=57523 mask=0x0000 button=0x0000
DEBUG1: send key up to "SiBook-Pro.local" id=57523, mask=0x0000, button=0x0000
Журнал клиента:
DEBUG1: recv key down id=0x0000e0b3, mask=0x0000, button=0x0000
DEBUG1: mapKey e0b3 (57523) with mask 0000, start state: 0000
DEBUG1: key e0b3 is not on keyboard
DEBUG1: recv key up id=0x0000e0b3, mask=0x0000, button=0x0000
DEBUG1: recv enter, 1279,386 5 2000
Как видите, клиент утверждает, что полученный ключ находится не на клавиатуре. Я не понимаю, так как это та же клавиша, что и на клавиатуре Macbook.
Я попытался отменить конфигурацию клиент-сервер, чтобы посмотреть, смогу ли я перехватить отправляемую клавишу, если бы нажал кнопку «Воспроизвести» на Macbook, но эта клавиша, похоже, даже не добралась до Synergy. Почти все нажатия клавиш регистрируются, но клавиши мультимедиа, кажется, обходят журналы и просто выполняют свою функцию локально. Например, я нажимаю кнопку воспроизведения на Macbook (с Macbook в качестве сервера), и ключ воспроизводит музыку на Macbook, и ключ не записывается в журнал отладки.