Hi,
ich habe wiedermal angefangen an meinem Kernel weiter zuarbeiten..
Als erstes wollte ich den Ps2-Tastaturtreiber überarbeiten. Alles läuft soweit gut. Jedoch scheitere ich daran, das eingegebene auszulesen -.-
Hier seht ihr meine Funktion, die den keycode verarbeiten soll:
typedef char* string; //aus string.h
string tmp = "";
void send_keycode(unsigned char keycode, bool isBreakcode)
{
if(keycode!=0 && !break_code)
{
if(keycode == RETURN)
{
readkbc = false;
return;
}
monitor_put(keycode, backg, forg);
tmp += keycode; //failed
//strcat(tmp, keycode); //<= hat den gleichen Effekt
}
}
string GetKBCInput(color bg, color fg)
{
backg = bg;
forg = fg;
readkbc = true;
for(;;)
{
if(!readkbc)
break;
}
monitor_write("\nDebug: ", COLOR_BLACK, COLOR_YELLOW);
monitor_write(tmp, COLOR_BLACK, COLOR_YELLOW);
return tmp;
}
Als Ausgabe bekomme ich lediglich: "Debug: ". Also muss tmp unverändert, also leer sein :/
Zuvor noch natürlich das Eingegebene. Das heißt, dass er alles richtig übersetzt und es verarbeitet, nur irgendwie scheint er tmp += keycode; zu ignorieren..
mfg
lolxdfly