uinput Keypress steuern

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
djevil
User
Beiträge: 41
Registriert: Montag 22. August 2016, 14:28

uinput Keypress steuern

Beitragvon djevil » Dienstag 7. März 2017, 13:23

Hallo,

ich habe hier diese Funktion:

  1. def keys():
  2.     data = dev.read(0x81, 29 , 0)
  3.    
  4.     ## Keys
  5.     knr=data[26]
  6.    
  7.     ### Emit Keypress
  8.     if data[25] == 0:
  9.         device.emit_click(keycode[knr])


leider gibt sie mir meist 2 manchmal auch 3 Buchstaben aus, gibt es eine Möglichkeit dies auf einen zu begrenzen?

Mfg d
Zuletzt geändert von Anonymous am Dienstag 7. März 2017, 13:28, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

Re: uinput Keypress steuern

Beitragvon BlackJack » Dienstag 7. März 2017, 13:32

@djevil: Ich glaube ja nicht das *die* Funktion das tatsächlich macht, sondern das mehrere Aufrufe der Funktion das machen. Denn ansonsten wäre das Problem ja in ``device.emit_click()`` zu suchen das nur einmal aufgerufen wird und dann mehr als eine Ausgabe machen würden. Ohne mehr Kontext kann man da nur raten. Ich würde raten das ``dev`` ein bisschen zu hardwarenah ist und Du Dich selbst ums entprellen von Tasten kümmern musst.
djevil
User
Beiträge: 41
Registriert: Montag 22. August 2016, 14:28

Re: uinput Keypress steuern

Beitragvon djevil » Freitag 10. März 2017, 00:32

Hallo,

ja, die Funktion wird in einer Endlosschleife aufgerufen:

  1. while 1:
  2.     keys()
  3.     joysticks()
  4.     ....


und vermutlich läuft die Schleife während eines Tastendrucks eben 2-3 Mal durch.

Mit einem:

Code: Alles auswählen

time.sleep()

lässt es sich zumindest etwas optimieren,
bremst aber auch die Joysticks(Analog) und ist natürlich auch keine vernünftige Lösung.

Und wie meinst du das die Tasten zu entprellen?

Mfg

d
BlackJack

Re: uinput Keypress steuern

Beitragvon BlackJack » Freitag 10. März 2017, 02:00

djevil
User
Beiträge: 41
Registriert: Montag 22. August 2016, 14:28

Re: uinput Keypress steuern

Beitragvon djevil » Freitag 10. März 2017, 16:01

Ok,
einfach einen Zähler rein und ein paar Zyklen überspringen..
und es läuft endlich..

Mfg d

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder