neue schreibmethode


Krux

Active Member
Joined
Feb 28, 2006
Messages
556
Hallo ich bin grade dabei eine neue eingabemöglichkeit für text für den gp2x zu programmieren. Bisher mache ich alles noch auf PC-Linux mit Gamepad in der Konsole mit SDL. Mein ziel is es eine Schnelle eingabe von text zu ermöglichen, ohne eine Zusätzliche Tastatur oder den Stift nutzen zu müssen.

Gedacht ist es so:
Für einen Buchstaben muss man immer eine Kombination von D-Pad und einer Taste drücken. Das ermöglicht es bei nur Wenigen Tasten dennoch Viele Zeichen darstellbar zu machen. Bei einem 8-Wege Joystick habe ich 9 verschiedene Zustände, bei 4 Tasten kann ich also 9*4=36 Zeichen Darstellen. Das reicht natürlich noch nicht für die Sonderzeichen un Zahlen, aber ein einfaches alphabet bekommt man schon unter.

Ich hoffe hier nur ein wenig Unterstützung von euch zu bekommen.

Mein aktuelles Problem ist, dass ich mein Verwendetes Alphabet(Tastenzuordnung) in einem char* speichere, die indizes sich allerdings verschieben, sobald ich Umlaute einbaue. Desshalb bin ich auch schon auf wstring umgestiegen, dort sollte es diese Probleme ja nicht geben, nur wie kann ich nun mein char* Alphabet nach wstring casten? Gibt es ja in c++ eine Eingebaute Funktion die mir das ermöglicht?

Edit:
Ich mache das, weil ich bisher keine Schreibmethode auf handhelds gefunden habe, die ich wirklich praktikabel halte. Bei Grafitte verschreibt man sich oft, und es ist auch nicht wirklich schnell, und wenn versucht wird eine Tastatur auf so kleine geräte zu quetschen, dann waren immer die Tasten viel zu klein, genau wie bei Handy-Tastaturen.

Edit:
Ok, ich habe mir jetzt vorgenommen euch am Fortschritt meines Projekts teilhaben zu lassen, also bisher ist als prä-alpha, und noch nicht wirklich auf GP2X lauffähig, aber wer mag kann sich ja schonmal den aktuellen Quelltext anschauen, ach ja feedback ist natürlich immer erwünscht. Übrigens, ich hab vorerst mal den support von Umlauten ausgelassen, das macht mir zu viel stress, wenn jemend eine einfach möglichkeit kennt, dann kann er sie gerne sagen.

und hier der Quelltext: http://pastebin.com/m43ec7d0d
neue Version http://pastebin.com/m7d3cf37e (07.09.2008)

es wird noch ein font benötigt zum testen, meinen hab ich hier her http://ftp.gnu.org/gnu/freefont/freefont-20080323.zip

Nächste version wird hoffentlich GP2X kompatibel sein, ich hoffe hier sind freiwillige Tester.
 
nö, es gibt Templates, und die sind Schneller als Generics, aber was würden die mir hier bringen? Und Casten ist nicht Böse, jedenfalls nicht in c++. Ich hab mir sowas vorgestellt:

wstring str = wunder_cast<wchar_t*>"abäös"

nur leider gibts kein wunder cast. Aber folgendes wäre auch toll:
wstring str = converter("abäös");

Edit:
so Umlaute sind erstmal auf Eis gelegt, es gibt wichtigeres, in Kreuzworträtseln kann man ja schließlich auch drauf verzichten. Es wundert mich echt, dass es im Standart noch kein char2wchar_t gibt, naja
 
Dann nochmal ne Frage von mir, wäre es vllt möglich die Kombinationen so zu programmieren, das die Buchstaben zuerst den Hex-Wert der ASCII Zeichen enthalten? Und du dann noch ne Funktion baust, die den Hexwert in ein Zeichen umwandelt.

Ich hoffe ich hab dein Problem richtig verstanden. ;)
 
ich weiß jetzt nicht genau was du meinst, aber ich glaube möglich wäre das, würde vieleicht sogar zum richtigen ergebnis füren, aber der Aufwand ist mir für den jetzigen stand meines Projektes einfach zu hoch, dann müsste ich mir ja UTF-8 Dokumentationen durchlesen, und auf lesen, hab ich momentan einfach kein Bock mehr, vieleicht später, wenn sich mein Projekt als Praktikabel erweist. So lange wird das Projekt halt noch auf ASCII beschränkt sein, später kann ich das ja dann immer noch ändern.

Übrigens, ich werd jetzt erstmal eine neue Version des Quelltextes hochladen. Noch Basiert es auf der Konsole, und kann daher nicht am GP2X getestet werden, aber das werde ich auf jeden fall in der Nächsten Version ändern, ich denke jetzt ist das Projekt bals soweit, dass ich ein Testlauf auf dem GP2X Starten kann.

Ich hab mal ne technische Frage zum GP2X.
Wie sind Die Tasten des GP2X in sdl angeordnet, also welche Button-Nummern haben die Tasten a,b,x und y?

und noch eine Frage zum Steuerkreuz. Ist das ein "hat" oder sind das ein Joystick mit achsen? ich würd es gerne wissen, weil alle meine Gamepads die ich hier rumliegen habe, bei denen sind die Digitalpads Joysticks, bei denen ich die Position der Achse abfragen kann.
 
Back
Top