char

2012-02-22 11 views
9

का कीबोर्ड स्कैनकोड प्राप्त करें मैं वर्चुअलबॉक्स-वीएम के साथ वर्चुअलबॉक्स-अतिथि-जोड़ों के एक अप्रत्याशित इंस्टॉल करने के लिए बातचीत करना चाहता हूं। इसलिए मुझे वीएम को कीस्ट्रोक भेजना है।char

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

अब मैं वी एम के लिए एक पूर्ण आदेश भेजना चाहते हैं, जैसे:

मैं VBoxManage-एपीआई, जहाँ मैं वी एम को scancode की हेक्स भेजने का उपयोग करके ऐसा कर सकती हूं
mount /dev/scd0 /media/cdrom0<Enter> 

तो मुझे उस स्ट्रिंग के प्रत्येक एकल को स्कैनकोड में परिवर्तित करना होगा और इसे VBoxManage का उपयोग करके VM को भेजना होगा।

मैं इन वर्णों को लिनक्स पर संबंधित कीबोर्ड स्कैनकोड में कैसे परिवर्तित करूं? मेरे वीएम में मेरे मेजबान की तरह एक ही कीबोर्ड मैपिंग है। मैं ऐसा कुछ ढूंढ रहा हूं जिसका उपयोग मैं कर सकता हूं:

$ getscancode n 
> 31 

?

+0

मुझे अभी 'शोकी-एस' मिला, जो मुझे सही स्कैनकोड देता है। लेकिन यह केवल मेरे विंडो प्रबंधक के बाहर टर्मिनल में काम करता है, अन्यथा मुझे 'कंसोल का संदर्भ देने वाला फाइल डिस्क्रिप्टर नहीं मिला'। – ifischer

+1

'xev' आपको आवश्यक जानकारी प्रदान करेगा, लेकिन' शोकी-एस 'के रूप में इस तरह के साफ प्रारूप में नहीं है (इसलिए मुझे इसे उत्तर के रूप में देने में संकोच नहीं है)। आपको कर्सर को ब्लैक बॉक्स में रखना होगा, फिर आपको आवश्यक चाबियाँ टाइप करें। –

+0

यह भी देखें [एएससीआई कोड को एटी सेट 2 कीबोर्ड स्कैनकोड में अनुवाद करें] (http://unix.stackexchange.com/questions/250377/translate-ascii-codes-to-at-set-2-keyboard-scancodes) – Gilles

उत्तर

5

showkey --asciimost keys के लिए काम करता प्रतीत होता है, और यह मेरे गनोम टर्मिनल में काम करता है।

+1

यह केवल एक इंटरेक्टिव मोड में काम करता है। मैं एक स्क्रिप्ट के भीतर से कीचर प्राप्त करना चाहता हूं, इसलिए मैं 'getcancode n' जैसे कुछ कह सकता हूं। – ifischer

+1

शोकी --ascii या तो मेरे मामले में सही स्कैनकोड की रिपोर्ट नहीं करता है, या बिल्कुल रिपोर्ट नहीं करता है, बस ascii glyph, octal छद्म स्कैनकोड और कीकोड –

संबंधित मुद्दे