Belkin KVM スイッチを使用しています。通常は、スクロール ロックをダブルタップして、切り替え先のマシンに対応する番号を選択できますが、12.10 から 13.04 Beta 2 にアップグレードしてからは、スクロール ロックをダブルタップしてもマシンが変更されなくなりました。
私は、この「ダブルタップ」は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
OK、両方のマシンから KVM の kbd/マウス アダプターを取り外し、再度差し込むと、一種の「ハード リセット」が機能したようです。これで再び動作するようになりました。
このユニットは AC アダプターを使用する代わりに PS2 ポートから電力を供給するため、PS2 ケーブルを抜くと問題が解決しました。
答え3
uli42 さんの回答は、私の Syba KVM で動作したときに役立ちました。KVM は、キーボードから PC への「キーが押された」信号ではなく、PC からキーボードへの「LED がセットされた」信号をリッスンします。おそらく、KVM を購入したパワー ユーザーがキーマップをカスタマイズした場合に、OS のさまざまなキーボード レイアウトのサポートと Just Work™ を利用できるようにするためでしょう。
実際、私の Syba KVM のマニュアルには、その機能は「Windows でのみ動作する」と書かれていましたが、後から考えてみると、それが大きな手がかりでした。
(macOS には Scroll Lock の概念がなく、LED を切り替えることができませんが、X11 のデフォルトのキーボード設定では、Scroll Lock は長い間バインドされていません。)
次のようなバインディングを再度追加すると、
xmodmap -e 'add mod3 = Scroll_Lock'
Windows と同様に X11 でも動作するようになります。
(テストする時間はありませんが、スクロール ロック LED を切り替える何らかのスクリプトを作成し、それを F14 にバインドすることで、どの Mac でも同じ筋肉記憶を機能させることができると思います。)
Wayland に関しては、特定の DE の開発者に問い合わせてください。最後に調べたところ、libinput の作者は、、などのコマンドに相当する独自のソリューションの開発を各 Wayland コンポジターに任せていましxmodmap
たsetxkbmap
。
mod3
あるいは、バインドせずに、キー押下xbindkeys
で次のようなスクリプトを実行するなどして、 1 回のキー押下で済ませることもできますScroll_Lock
。
#!/bin/sh
LEDNAME="Scroll Lock"
echo "Switching KVM..."
xset led named "$LEDNAME"
sleep 0.5
xset -led named "$LEDNAME"