I just used the keyboard unit for the first time and it's quite impressive but I have some questions.
Initially, I couldn't link on my old RH 7.2 machine because FPC 1.9.4 couldn't find the GPM libraries. This is probably a stupid question but is there a way that FPC can find libraries better so that I don't have to ln -s /usr/libgpm.so.1 to /usr/libgpm.so? This has happened with other FPC units...
Anyway, isn't GPM a mouse package?!? I didn't consult the unit's source but I don't see any mouse functionality in the docs? Just curious.
And finally, I pasted my little example program below. When I run it in Konsole and it has some funny behavior. Like Shift-F2 is reported as F4 and Control-U is reported as 'SHIFT' ^A and ^E don't seem to have any text associated with them (maybe it's reporting a space?). I wanted to build a simple bash-like command history/editing and I was going to use those but if I cannot read them...
In xterm it's slightly different... for example, ^A does nothing but then the next charcter shows as SHIFT x (e.g., ^Aa shows as 'SHIFT a') and Shift-F2 shows three keys.. 'Key with scancode 6144', 2, and Q while Shift-F3 shows the same scancode and then 2,R.
I tried adding the shift state but that didn't change anything and the shift states don't seem to be read accuractely (control and alt are never read).
Thanks!
-Alan
program readline;
uses keyboard;
procedure ReadKBD(var S: String);
var K : TkeyEvent;
begin
InitKeyboard;
Repeat
K:=GetKeyEvent;
K:=TranslateKeyEvent(K);
writeln(KeyEventToString(K));
Until (GetKeyEventChar(K)='q');
DoneKeyboard;
end;
var S:String;
begin
ReadKBD(S);
end.-Alan
