ScrollLock 키를 두 번 탭하면 KVM 대상 컴퓨터가 변경되지 않습니다.

ScrollLock 키를 두 번 탭하면 KVM 대상 컴퓨터가 변경되지 않습니다.

Belkin KVM 스위치를 사용합니다. 일반적으로 스크롤 잠금을 두 번 탭하고 전환하려는 컴퓨터에 해당하는 숫자를 선택할 수 있지만 12.10에서 13.04 베타 2로 업그레이드했기 때문에 스크롤 잠금을 두 번 탭해도 더 이상 변경되지 않습니다. 기계.

나는 이 "더블 탭"이 KVM 장치에 하드코딩되어 있다고 가정했습니다.언제나일인데 제가 틀린 것 같아요.

누구든지 아이디어가 있나요? KVM은 Belkin 2포트 1DL102P(내장 케이블 및 오디오 지원 포함)이며 장치 자체에 버튼이 없으므로 "수동 오버라이드" 또는 "하드 리셋" 버튼이 없습니다.

다음과 같습니다:

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의 kbd/마우스 어댑터를 두 시스템 모두에서 분리했다가 다시 연결하는 것이 일종의 "하드 리셋" 역할을 한 것 같습니다. 이제 다시 작동하기 때문입니다.

이 장치는 AC 어댑터를 사용하는 대신 PS2 포트에서 전원을 공급받기 때문에 PS2 케이블을 뽑는 것이 효과적이었습니다.

답변3

uli42의 답변은 Syba KVM에서 작동했을 때 핵심이었습니다. KVM은 키보드에서 PC로의 "키 누름" 신호를 수신하지 않고 PC에서 키보드로의 "LED 설정" 신호를 수신합니다. 아마도 모든 종류의 OS 지원을 피기백할 수 있기 때문일 것입니다. KVM을 구입한 고급 사용자가 자신의 키맵을 사용자 정의한 경우 다양한 키보드 레이아웃과 Just Work™를 사용할 수 있습니다.

내 Syba KVM의 매뉴얼에는 "Windows에서만 작동하는" 기능이 있다고 나와 있는데, 돌이켜보면 이것이 큰 단서였습니다.

(macOS에는 Scroll Lock 개념이 없으며 LED를 토글하지 않는 반면, X11의 기본 키보드 구성은 오랫동안 Scroll Lock을 바인딩하지 않았습니다.)

다음과 같은 바인딩을 다시 추가하면 xmodmap -e 'add mod3 = Scroll_Lock'Windows에서처럼 X11에서 작동하게 됩니다.

(테스트할 시간은 없지만 스크롤 잠금 LED를 토글하고 F14에 바인딩하는 일종의 스크립트를 작성하여 모든 Mac에서 동일한 머슬 메모리가 작동하도록 만들 수 있다고 상상합니다.)

"Scroll Lock"과 F14가 모두 표시된 Apple 키보드 및 대체 키캡

Wayland에 대해서는 특정 DE 개발자에게 문의하세요. 마지막으로 살펴보니 libinput의 작성자는 , 등 xmodmap의 명령 에 해당하는 자체 솔루션을 개발하도록 각 Wayland 구성자에게 맡기고 있었습니다 setxkbmap.

또는 바인딩을 해제하고 키 누르기 에서 이와 같은 스크립트를 실행하는 것과 mod3같은 것을 사용하여 단일 키 누르기로 만들 수 있습니다 .xbindkeysScroll_Lock

#!/bin/sh
LEDNAME="Scroll Lock"

echo "Switching KVM..."
xset led named "$LEDNAME"
sleep 0.5
xset -led named "$LEDNAME"

관련 정보