Python - 检测键盘布局

2 投票
1 回答
2614 浏览
提问于 2025-04-15 23:39

我在玩一个RFID读取器,使用Python通过uinput输出到控制台。

问题是,我需要把假RFID键盘代码转换成发送到uinput的代码,我想知道我到底是在用QWERTY键盘还是AZERTY键盘(比如'a'变成'q'之类的)。

在比利时,尤其是在我正在参与的活动中,我们经常会遇到这两种键盘布局,我需要能够即时支持这两种布局。

有没有什么os.*()的函数可以帮我解决这个问题呢?

谢谢!

1 个回答

1

你可以先试试输入 setxkbmap -print 来查看当前的键盘设置,不过一般来说,这个过程可能会有点复杂。

不如直接把你用 uinput 创建的虚拟键盘的布局设置为 QWERTY 吧?X系统支持为每个设备设置不同的键盘布局。

xinput list                   # find the device ID, say, 12
setxkbmap -device 12 us       # use it

根据我的经验,每次我插入一个外部USB键盘,它总是默认设置为美式英语,所以我不太确定这是不是必要的。

撰写回答