我想找出类似 debian 的操作系统的当前键盘布局。env-var? /etc/? locales?
上下文:__ 尝试串行操作 RFID 阅读器,使用 python 通过 uinput/ 输出到控制台
问题是,在将 fake-rfid-keyboard-codes 转换为发送到 uinput/ 的代码时,我最好知道我使用的是 QWERTY 还是 AZERTY('a' 变成 'q',等等...)
回到比利时,特别是在我正在开展的活动期间,我们极易受到两种键盘布局的影响,我必须同时支持这两种键盘布局。
谢谢!
答案1
使用它来获取当前布局的代码:
$(xset -q|gr LED| awk '{ print $10 }')
这可能需要转换为您想要的形式,例如:
case "$(xset -q|gr LED| awk '{ print $10 }')" in
"00000002") KBD="English" ;;
"00001002") KBD="Thai" ;;
*) KBD="unknown" ;;
esac
答案2
我检查了软件包的 postinst 脚本console-data
,似乎/usr/share/console/getkmapchoice.pl
将返回键盘映射名称(或者NONE
是否使用了内核键盘映射)。请注意,只有通过 APT 配置了键盘映射,例如使用,它才会起作用dpkg-reconfigure console-data -plow
。