Und wenn ich mich recht entsinne gibt es DirectX nur für Windows...cloidnerux hat geschrieben:Windows besitz DirectX, eine Element davon ist DirectInput.
Keycodes mittels Inline-Assembler
Re: Keycodes mittels Inline-Assembler
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Keycodes mittels Inline-Assembler
Wenn ich mich recht ensinne gibt es getch() nur für Windows.Und wenn ich mich recht entsinne gibt es DirectX nur für Windows...
Es war eine möglichkeit, keine Lösung.
Ich würde dir raten SDL zu nehmen und gut ist.
Wir können zwar noch Stunden weiter Diskutieren, das bringt aber nichts.
Ich hab sonst keine Idee, weid u dein Problem lösen kannst.
Desshalb wünsche cih dir noch viel spaß und ziehe mich dann aus diesem Thread zurück.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: Keycodes mittels Inline-Assembler
Stimmt, und wie schon gesagt sehe ich getch nicht als Alternative.cloidnerux hat geschrieben:Wenn ich mich recht ensinne gibt es getch() nur für Windows.
Werde ich haben, danke für die Hilfe.cloidnerux hat geschrieben:Desshalb wünsche cih dir noch viel spaß und ziehe mich dann aus diesem Thread zurück.
So, ich hoffe, dass die schlummernden Assembler-Freaks da draußen auf meine ursprüngliche Idee einsteigen

Re: Keycodes mittels Inline-Assembler
Da dani93 anscheinend ein Programm in der Konsole schreibt ist DirectInput wohl ziemlicher Overkill, und da sein Programm auch plattformübergreifend funktionieren sollte noch weniger geeignet.cloidnerux hat geschrieben:Windows besitz DirectX, eine Element davon ist DirectInput.
Über DirectInput bekommste die Scancodes die du mit Macros nutzen kannst.
Da es so eine Möglichkeit nicht wirklich plattformübergreifend gibt muss man wohl zwei verschiedene Funktionen zum Erhalten der gedrückten Tasten mit define's verwenden. Entweder man sucht sich jetzt unter Windows und unter Linux die jeweils passenden Funktionen oder man greift auf vorhanden Bibliothek wie ncurses die es auch so ähnlich für Windows gibt.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: Keycodes mittels Inline-Assembler
Umpf... mit ncurses und conio.h hab ich mich schon mal gespielt (siehe hier)... das lief irgendwie nicht so toll...Kerli hat geschrieben:Entweder man sucht sich jetzt unter Windows und unter Linux die jeweils passenden Funktionen oder man greift auf vorhanden Bibliothek wie ncurses die es auch so ähnlich für Windows gibt.
Ist meine Idee mit dem Inline-Assembler wirklich komplett zum Vergessen?
Re: Keycodes mittels Inline-Assembler
Dazu kann ich nichts sagen, weil ich es noch nie versucht habe. Ich bin nämlich recht schnell weg von den Konsolenanwendungen gegangen. Irgendwann hab ich einmal so etwas gemacht aber das war glaub ich nur unter Windows lauffähig. Jetzt müsste man nur noch eine entsprechende Linuxfunktion finden und dann per Kompilerswitch die richtige Funktion wählen. Und dazu könnte man sich zum Beispiel in der ncurses Bibliothek Anregungen holen.dani93 hat geschrieben:Umpf... mit ncurses und conio.h hab ich mich schon mal gespielt (siehe hier)... das lief irgendwie nicht so toll...
Ja. Weil das ist noch plattformunabhängiger, da du dabei auch noch die verschiedenen Prozessorarchitekturen beachten musst. Und wenn man für eine Funktion auf eine andere Programmiersprache wechseln muss sollte das einem schon zu denken geben, ob man es nicht auch anders machen kann.dani93 hat geschrieben: Ist meine Idee mit dem Inline-Assembler wirklich komplett zum Vergessen?
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: Keycodes mittels Inline-Assembler
Ich hab gerade versucht in der Konsole SDL-Events abzufangen, was erwartungsgemäß nicht funktionierte.Kerli hat geschrieben:Ja. Weil das ist noch plattformunabhängiger, da du dabei auch noch die verschiedenen Prozessorarchitekturen beachten musst. Und wenn man für eine Funktion auf eine andere Programmiersprache wechseln muss sollte das einem schon zu denken geben, ob man es nicht auch anders machen kann.dani93 hat geschrieben: Ist meine Idee mit dem Inline-Assembler wirklich komplett zum Vergessen?
Ich werde noch ein bisschen herumspielen. Falls es nicht anders geht muss ich eben wie bei clrscr eine Funktion mit Präprozessor die je nach OS die richtige Funktion wählt schreiben.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Keycodes mittels Inline-Assembler
Ich schließe mich bis auf weiteres der NCurses-Theorie an.
Ansonsten... schreib 'ne wxWidgets oder GTK Anwendung und rufe diese von der Konsole aus auf
Bitte beachte auch, dass Keycodes nichtmals auf einem OS korrekt ablaufen: Sobald jemand ein anderes Tastenlayout verwendet geht die Verwirrung los.
Ansonsten... schreib 'ne wxWidgets oder GTK Anwendung und rufe diese von der Konsole aus auf

Bitte beachte auch, dass Keycodes nichtmals auf einem OS korrekt ablaufen: Sobald jemand ein anderes Tastenlayout verwendet geht die Verwirrung los.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Keycodes mittels Inline-Assembler
Ich hab heute einen Freund mein getch-Programm testen lassen und es funktionierte ohne Probleme. Ob er das selbe Layout hat, kann ich aber nicht sagen.Xin hat geschrieben:Bitte beachte auch, dass Keycodes nichtmals auf einem OS korrekt ablaufen: Sobald jemand ein anderes Tastenlayout verwendet geht die Verwirrung los.
Gestern blätterte ich durch mein SDL-Buch - und siehe da - keycodes.c. Fertig geschrieben muss nur noch kompiliert werden.
Nur ist das Problem genau das Gegenteil von getch - Linux und X Header... womit ich wieder am Anfang wäre.
Ich werde wohl eine SDL- und eine getch- Version schreiben, dann kanns nicht falsch sein

Ein Nachteil von SDL ist jedoch, dass ich das Fenster brauche. Sinn der Pfeiltasten soll es sein durch ein Dokument zu "scrollen" (also den Ausgabepunkt nach oben/unten versetzen). Dann müsste ich den ganzen Text zeilenweise rendern...
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Keycodes mittels Inline-Assembler
Ich vermute Deine Freund sind deutschsprachig und haben deutschsprachige Layouts.dani93 hat geschrieben:Ich hab heute einen Freund mein getch-Programm testen lassen und es funktionierte ohne Probleme. Ob er das selbe Layout hat, kann ich aber nicht sagen.Xin hat geschrieben:Bitte beachte auch, dass Keycodes nichtmals auf einem OS korrekt ablaufen: Sobald jemand ein anderes Tastenlayout verwendet geht die Verwirrung los.
Welches ist das?ch wieder am Anfang wäre.dani93 hat geschrieben:Gestern blätterte ich durch mein SDL-Buch
Portablität ist immer ein Problem - aber Programme ohne Fenster sind heutzutage auch eher selten.dani93 hat geschrieben:Ich werde wohl eine SDL- und eine getch- Version schreiben, dann kanns nicht falsch sein![]()
Ein Nachteil von SDL ist jedoch, dass ich das Fenster brauche. Sinn der Pfeiltasten soll es sein durch ein Dokument zu "scrollen" (also den Ausgabepunkt nach oben/unten versetzen). Dann müsste ich den ganzen Text zeilenweise rendern...
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.