"Typematic Rate Setting" im Konsolenprogramm ändern?
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
für die maus:
schon ins dos/win32 konsolenfaq geschaut?
http://www.c-plusplus.net/forum/viewtopic-var-t-is-86415.html
-
Genau das habe ich vor, du hast es richtig verstanden
Um Bool Arrays selbst zu erstellen bin ich allerdings noch nicht geübt genug, wenn du vielleicht wieder wach bist (
) würde ich mich tierisch freuen, wenn du mir da den Quelltext mal zurechtschreiben könntest.
Ja habe ich, allerdings auch wieder so´n Bool-Ding *g* Ich versuch das mal umzubauen dass das mit der Maus so passt wie ich das vorhabe... Keyboard wäre mir trotzdem lieber, bzw. wüsste ich das gern zusätzlich, dann kann ich ja ne Abfrage im Programm einbauen, wie gesteuert werden soll.
Aber schonmal danke soweit
Cya, Mäxl
-
DJMadMax schrieb:
Ja habe ich, allerdings auch wieder so´n Bool-Ding *g* Ich versuch das mal umzubauen dass das mit der Maus so passt wie ich das vorhabe... Keyboard wäre mir trotzdem lieber, bzw. wüsste ich das gern zusätzlich, dann kann ich ja ne Abfrage im Programm einbauen, wie gesteuert werden soll.
keyboardabfrage steht auch im dos/win32 - faq.
tastaturcodes der 'sonderzeichen' (pfeiltasten, etc..) sind dort zu finden, bzw. über die suchfunktion oben rechts findest du dazu massen, wird wöchentlich gefragt.
-
Die Tastaturcodes sind doch kein Problem
Ich habe ja ein funktionierendes Programm, in dem ich per Pfeiltasten (glaube wert 77 und 75 sind das, jetzt mal so ausm Kopf +g+) ein Objekt(Zeichenkette) bewegen kann.
Das Problem ist doch nur, dass sich die Zeichenkette ja entweder nur per Tastendruck um jeweils eine Stelle bewegt, oder aber, wenn man die Taste gedrückt lässt, die Bewegung abhängig von der Typematic Rate Setting (Tastaturwiederholrate) von Windows bzw. dem Bios abhängt.. das heisst: Lässt du die Pfeiltaste gedrückt, bewegt sich die Zeichenkette erst um eins, bleibt dann ca. ne viertel, bis halbe Sekunde hängen (eben je nach dem was man im Bios/Windows eingestellt hat) und rennt dann mit mehreren Bewegungen pro Sekunde weiter.
Das will ich eben im Programm umgehen, ich will die Wiederholrate selbst definieren, dass bei Tastendruck ohne Verzögerung die Zeichenkette (z.b.) gleich mit 10msec pro Stellensprung loslegt.
Cya, Mäxl
-
SystemParametersInfo mit SPI_SETKEYBOARDSPEED
-
Der Befehl klingt interessant... nur wie bau ich den ein?! Ich hab doch extra geschrieben, dass ich C(++) Anfänger bin, hab keine Ahnung von den ganzen Befehlen und Funktionen, würde mich daher freuen, wenn ihr mir diese Lösungsvorschläge immer in einen kleinen Beispielquelltext einbauen könntet.
Dev spuckt mir nämlich folgendes aus:
non-lvalue in assignmentSprich: Bin zu doof, ohne Beispiel mit diesem Befehl umzugehen +g+
Cya, Mäxl
-
http://www-user.tu-chemnitz.de/~heha/viewzip.cgi/hs_freeware/maus32.zip/warpcursorkey/warpcu32.c
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/systemparametersinfo.asp
-
Hmm.. ich weiss nicht, ob´s an mir oder an dem SPI liegt, jedenfalls bekomme ich den Keyboard Delay zwar immer langsamer, jedoch nicht schneller als die vorgegebenen "31" (maximum Windows und Bios)... und an der Verzögerungszeit (vom 1. bis zu den anderen Zeichen) ändert sich garnichts.
Ich hab mal meinen Sourcecode hochgeladen, dann seht ihr auch auf welchem (für euch wahrscheinlich ziemlich bescheidenen ^^) Stand ich mit meinen Kenntnissen bin.
http://home.arcor.de/7m-gte/peng_0.1alpha.rar
Das Programm ist wie schon erwähnt mit DevCPP geschrieben und lässt sich demnach auch dort ohne weiteres kompilieren.
Auch funktionstüchtig ist das Programm bereits, nur werdet ihr selbst sehen, wenn ihr es testet, dass der Keyboarddelay viel zu hoch ist und der Balken sich deshalb nicht schnell genug bewegen lässt
Cya, Mäxl
-
hab gerade diese funktion gefunden: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/getasynckeystate.asp
Ich glaub, es ist genau was du brauchst
erlich gesagt, fand ich dein program etwas komisch:
for (k=1;k==1;k=k+1); { func_key(); }
was bezweckst du damit? k bleibt ja sowieso immer 1...