Python:确定按下哪些键,处理所有按下的键然后打印结果

时间:2018-05-08 10:39:36

标签: python

我正在为视障人士开发一个键盘程序,它就像Perkins Brailler一样。

我的问题是:

  1. 如何限制程序运行时按下的合法密钥
  2. 如何检测所有按下的键(在0.5秒内)并直接处理按键作为输入,然后直接打印过程的结果。 (例如,我希望翻译时键和#34; as"或" sa"同时按下(顺序无关紧要)到字母" y")
  3. 谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用pygame.key.get_pressed()方法查看当前正在按下哪些键。它返回当前正在按下键的布尔值列表。

while True:
    keys = pygame.key.get_pressed()
    A, S, D = keys[K_a], keys[K_s], keys[K_d] # add right hand dots as well
    braille_dict = {'a': D, 'b': D and S,} # and so on for every combination

然后,您需要检查每个击键组合,以使用逻辑“和”运算符制作不同的盲文字母。因此,如果同时按下2个键,它可能会形成一个不同的盲文字母,而不是一个接一个地按下2个。一旦看到正在按下哪个组合,就可以打印它

您不能限制正在键入的击键,但您可以忽略程序不需要的击键(除了主行之外的键?)。