Peda-Entprellung - eine kurze Frage

Gast #1759949
Lesenswert?

So, mal wieder die PeDa-Entprellung...
Ich habe sie bei mir implementiert und angepasst und sie läuft 1A - 
vieln Dank dafür PeDa!!!

Aber jetzt habe ich dennoch eine Frage:

Ich möchte einen Wert hochzählen - und zwar hätte ich gerne, dass wenn 
man die Taste gedrückt hält, der Wert kontinuierlich weiter hoch gezählt 
wird. Im Moment muss ich die Taste wieder loslassen, damit der 
Tastendruck erkannt wird.

Wie kann ich das realisieren? Und am besten, dass nach einer gewissen 
Zeit das Hochzählen beschleunigt wird. Geht das?


Gruß, Wero
#1759955
Lesenswert?

Wero schrieb:

> Wie kann ich das realisieren? Und am besten, dass nach einer gewissen
> Zeit das Hochzählen beschleunigt wird. Geht das?

Beschleunigen nicht.
Aber ansonsten ist das die eingebaute Repeatfunktionalität.

Du musst die Taste (beim #define) für den Repeat freigeben und deine 
Tastenabfrage erweitern
1
// KEY1 wird für Repeat freigegeben
2
#define REPEAT_MASK     (1<<KEY1)
3

4
...
5

6
    // wenn Taste gedrückt wurde oder der Autorepeat bei
7
    // längerem Drücken kommt
8
    if( get_key_press( 1<<KEY1 ) || get_key_rpt( 1<<KEY1 )) {
9
      counter++;
10
    }

In gewissen Grenzen kann man die Rate, mit der der Autorepeat arbeitet 
mit diesen beiden Makros
1
#define REPEAT_START    50                        // after 500ms
2
#define REPEAT_NEXT     20                        // every 200ms
beeinflussen. Einfach REPEAT_NEXT kleiner setzen, dann zählt dein Code 
schneller hoch/runter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren