2012-01-01 70 views
0

是有转换AZERTY键盘的字母在QWERTY键盘字母和一个模块反之亦然转换键盘AZERTY到QWERTY键盘,反之亦然

要做到这一点,它也必须能够检测键盘类型,可能吗?

例如:'data'。 to_qwerty() - >'dqtq''dqtq'。 to_azerty() - >'data'

or a simple解决方案无需输入每个字母的所有字母?

谢谢你在前进,

+3

我不明白你为什么需要知道实际的键盘类型。如果键盘类型设置正确,您将得到正确的字母。因此,如果键盘类型设置错误,用户不会注意,您只需要这样做。似乎不太可能:-) – 2012-01-01 21:08:53

+0

@DanielRoseman是的,它没有错,我只是想翻译字母,例如,wqi(azerty)= mzai(qwerty),我想我需要检测键盘类型,对不起 – Fred 2012-01-01 21:17:05

回答

3

如果你只是想一个字符串转换为另一种,这是相当简单: (但它确实需要你指定他们从一个如何翻译成其他)

>>> translate_dict = dict(zip("abcdef", "123456")) 
>>> translate_this = "deadbeef" 
>>> ''.join([translate_dict.get(x) for x in translate_this]) 
'45142556' 

>>> ''.join(map(translate_dict.get, translate_this)) 
'45142556' 

...或任意数量的方式在几行做到这一点。

如果你想变得很花哨,做一些类似于你在问题中所做的事情(调用一个字符串的方法并将它转换),那么你可以看看codecs模块,它可以让你做到这一点。需要多一点的工作,但你能够做到soemthing这样

>>> mystring.encode('qwerty') 

最大的努力很可能得到了如何翻译的一切数据。

最简单的事情可能是在开始键入之前确保您有正确的键盘映射。 :)