我有一台连接到 Ubuntu14.04 的 Zebra 2D 条形码扫描仪。该扫描仪设置为键盘模拟器。
当扫描二维条形码 (QR 码) 时,它会输出包含 FNC1 分隔符的扫描字符串。这是一个 ASCII 29 代码,也称为组分隔符。但是,由于扫描仪模拟键盘,因此它输出的是键盘键码,而不是 ASCII,因此 FNC 分隔符会作为Alt+029序列输出。如果我直接扫描到终端窗口,分隔符实际上会以字符的形式显示在扫描仪输出中029
,即控制字符会转换为其等效的三位 ASCII 代码!
如果我直接扫描到 Qt C++ 应用程序的输入框中,它也会这样做。
但是,如果我扫描到 Gedit,它不会显示 FNC1 控制代码。
有人能解释这里发生了什么,并指出正确的方向,让我得到正确的 ASCII 控制字符作为我的应用程序中的分隔符显示吗?