2012-02-22 2 views
9

Virtualbox-VM과 상호 작용하여 Virtualbox-Guest-Additions의 무인 설치를 원합니다. 따라서 VM에 키 입력을 보내야합니다. 같은키보드 스캔 코드 얻기

# sends "b" to the VM 
VBoxManage controlvm "$VMNAME" keyboardputscancode <HEX> 

지금 내가 VM에 전체 명령을 보낼 :

나는이 VM에 스캔 코드의 HEX을 보내 VBoxManage-API를 사용하여이 작업을 수행 할 수 있어요
mount /dev/scd0 /media/cdrom0<Enter> 

그래서 그 문자열의 모든 단일 문자를 스캔 코드로 변환하고 VBoxManage를 사용하여 VM으로 보내야합니다.

어떻게 이러한 문자를 Linux의 해당 키보드 스캔 코드로 변환합니까? 내 VM은 내 호스트와 동일한 키보드 매핑을 사용합니다. 나는 그것을 사용할 수있는 무언가를 찾고있다 :

$ getscancode n 
> 31 

?

+0

방금 ​​showkey -s를 찾았습니다. 정확한 스캔 코드를 제공합니다. 하지만 그것은 Window Manager 외부의 터미널에서만 작동합니다. 그렇지 않으면'콘솔을 참조하는 파일 설명자를 가져올 수 없습니다. '라는 메시지가 나타납니다. – ifischer

+1

'xev'는 필요한 정보를 제공 할 것이지만'showkey -s'와 같은 깔끔한 형식이 아닙니다. 그래서 나는 대답으로 주저하고 있습니다. 블랙 박스에 커서를 놓은 다음 필요한 키를 입력해야합니다. –

+0

참고 [ASCII 코드를 AT 2 키보드 스캔 코드로 번역] (http://unix.stackexchange.com/questions/250377/translate-ascii-codes-to-at-set-2-keyboard-scancodes) – Gilles

답변

5

showkey --asciimost keys에서 작동하며 내 GNOME 터미널에서 작동합니다.

+1

전용 대화 형 모드에서 작동합니다. 나는 스크립트 내에서 keychar을 얻고 싶습니다. 그래서 getscancode n과 같은 것을 호출 할 수 있습니다. – ifischer

+1

showkey --ascii는 제 경우에 올바른 스캔 코드를보고하지 않거나 전혀 표시하지 않습니다. ASCII 글리프, 8 진 의사 스캔 코드 및 키 코드 만 –