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 BlackJack am Dienstag 7. März 2017, 13:28, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
BlackJack
Moderator
Beiträge: 32716
Registriert: Dienstag 25. Januar 2005, 23:29
Wohnort: Berlin
Kontaktdaten:

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.
“XML combines all the inefficiency of text-based formats with most of the unreadability of binary formats :-)” — Oren Tirosh, c.l.p, 2002
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
Benutzeravatar
BlackJack
Moderator
Beiträge: 32716
Registriert: Dienstag 25. Januar 2005, 23:29
Wohnort: Berlin
Kontaktdaten:

Re: uinput Keypress steuern

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

“XML combines all the inefficiency of text-based formats with most of the unreadability of binary formats :-)” — Oren Tirosh, c.l.p, 2002
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

Zurück zu „Sonstige (Pygame, PyOpenGL, ...)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder