Hallo,
ich bin gerade dabei ein Macro-Keyboard zu programmieren. Dazu nutze ich einen Arduino Micro und ein 4x4 Matrix-Keypad, sowie die Keyboard.h Library. Mit der funktion Keyboard.press() kann man ja einen Knopf durch drücken aktivieren und der zugehörige Befehl wird so lange ausgeführt bis Keyboard.release() aufgerufen wird. Bisher habe ich die dauer des Befehls mit delay() eingestellt. Ist es auch möglich das so zu programmieren, dass der Befehl so lang gesendet wird, wie ich den Knopf halte?
Ich möchte das Makrokeyboard unter anderem für Grafik-Programme nutzen und da wäre es sinnvoll, beispielsweise die strg oder die Shift-Taste halten zu können, statt sie nur für einen bestimmten festgelegten Zeitraum zu aktivieren.
Schon Mal vielen Dank im vorraus und liebe Grüße^^
Ich verstehe Dein Ansinnen vielleicht nicht.
Denn:
Dann mach das doch.
Nehmen wir mal an....
Du hast einen Pin, auf den Du reagierst. Dann musst Du Dir merken, das Du auf den Pin reagiert hast.
Und das solange, bis Du wieder auf den Pin reagierst.
Das, was in der Reaktionsvariable steht, wird benutzt um den KeyCode (nicht) zu senden.
Ich hab nur keinen Micro - wenn das als Code für einen UNO gezeigt wird, kannst Du das umsetzen?
- Du drückst die Taste → Keyboard.press()
- Du wartest, solange Du willst
- Du läßt die Taste los → Keyboard.release()
Etwas technischer:
- Flanke Taste nicht gedrückt nach gedrückt → Keyboard.press()
- Du wartest, solange Du willst
- Flanke Taste gedrückt nach nicht gedrückt → Keyboard.release()
Ja, das geht
Dein Problem dürfte die Flankenerkennung sein (ungetestet):
if (!tastenzustand_alt && tastenzustand_akt) {
// Ausgabe Keyboard.press()
}
if (tastenzustand_alt && !tastenzustand_akt) {
// Ausgabe Keyboard.release()
}
Oder?
ich wette mal...
Er will sowas wie die EinrastFunktion für die Shift-Taste nur für STRG und ALT....
- Pin ausgelöst
- STRG gemerkt
Alles was jetzt kommt, mit STRG übertragen - Pin ausgelöst
- STRG nicht mehr merken
Ja, auch möglich, ich halte daher nicht dagegen
my_xy_projekt
Mit mir kannst Du auch nicht wetten; Ich bin Deiner Meinung.
Grüße Uwe
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.