我想了解从控制台中的读取命令获得的值。这些输出是某些按键的组合吗?
F2 ^[OQ
F3 ^[OR
F4 ^[OS
ESC ^[
我的问题是我使用为特定软件编程的特殊 128 键键盘。我需要使用下面的代码将这些“ key ”发送到该软件中。不要对我使用 Linux 读取键盘而在下面的代码中使用 Win 的事实感到困惑。我只是想先在我的 Linux 机器上弄清楚它。
import win32api, win32com.client
shell = win32com.client.Dispatch('WScript.Shell')
shell.AppActivate('Some Application Title')
shell.SendKeys('%fo') # Alt+F, O
win32api.Sleep(100)
谢谢大家
最佳答案
这些是标准 ANSI 转义序列。 “^[”是 CSI = Control Sequence Introducer(不是电视剧)。
参见http://en.wikipedia.org/wiki/ANSI_escape_sequences或 ANSI 转义序列上的类似来源。
如果您将此类序列发送到可识别它们的设备,则可以产生它们所暗示的效果,例如清除屏幕、改变颜色,或者实际上就像按下了 F1 键一样。但是,您确实需要一个能够处理它们的收件人! (就像 Linux 控制台)一个简单的文件流只会写入字符。
关于Linux bash读取输出解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3739832/