用python翻译键盘布局

用python翻译键盘布局,python,keyboard,keyboard-layout,Python,Keyboard,Keyboard Layout,我正在使用与digispark arduino兼容的设备来模拟美国布局的键盘(它使用DigiKeyboard.h作为库来实现这一点)。 现在,它只需要输入一个代表一个键的整数,然后按照USB键盘标准将其发送到计算机,直到现在一切都正常 问题是,我需要这个设备来处理每个键盘布局,我的问题是:有没有一种方法可以用python将表示字符的数值“转换”为表示任何其他布局中相同字符的数值?显然,我无法通过电脑上的软件更改布局 示例:假设在美国布局中,字符“x”表示为数字1。在ES布局中,字符“x”表示为数

我正在使用与digispark arduino兼容的设备来模拟美国布局的键盘(它使用
DigiKeyboard.h
作为库来实现这一点)。 现在,它只需要输入一个代表一个键的整数,然后按照USB键盘标准将其发送到计算机,直到现在一切都正常

问题是,我需要这个设备来处理每个键盘布局,我的问题是:有没有一种方法可以用python将表示字符的数值“转换”为表示任何其他布局中相同字符的数值?显然,我无法通过电脑上的软件更改布局

示例:假设在美国布局中,字符“x”表示为数字1。在ES布局中,字符“x”表示为数字2。我需要一个假设函数,给定数字1将输出数字2


编辑:做了一些研究,找不到合适的解决方案,但hak5团队已经为橡胶鸭子开发了类似的东西,你可以在上面找到有用的文件。简言之:这是不可能的。

图书馆不支持这一点,让我进一步阐述:

我已经生成了一个“查找表”(使用问题中提到的hak5文件),它允许我检查在给定布局中使用哪个键+修饰符来表示给定的字符(实际上这是一个很好的软件);发现库只支持“shift”修饰符(而在其他布局中需要alt-gr),让我非常失望。 “击键”的编码方式如下:7位表示字符的ASCII码(显然,它只支持美国键盘中的7位ASCII字符),而最高有效位表示是否使用修饰符

TL;博士: DigiKeyboard只支持一个修改器,使其仅适用于我们的布局(或类似布局)


使用hak5团队编写的工具,在这里用它来翻译digispark中的橡皮状ducky脚本是一个快速而肮脏的解决方法。

简而言之:这是不可能的。

图书馆不支持这一点,让我进一步阐述:

我已经生成了一个“查找表”(使用问题中提到的hak5文件),它允许我检查在给定布局中使用哪个键+修饰符来表示给定的字符(实际上这是一个很好的软件);发现库只支持“shift”修饰符(而在其他布局中需要alt-gr),让我非常失望。 “击键”的编码方式如下:7位表示字符的ASCII码(显然,它只支持美国键盘中的7位ASCII字符),而最高有效位表示是否使用修饰符

TL;博士: DigiKeyboard只支持一个修改器,使其仅适用于我们的布局(或类似布局)

使用hak5团队编写的工具,在这里用这个来翻译digispark one中的橡皮鸭脚本,这是一个快速而肮脏的解决方法。

看看这个看看这个