[fpc-pascal]Keyboard unit questions

John Coppens john at jcoppens.com
Fri Sep 10 19:50:54 CEST 2004

On Fri, 10 Sep 2004 08:33:21 -0700 (PDT)
Alan Mead <cubrewer at yahoo.com> wrote:

> 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...

Hi Alan.

Surely someone with more experience will correct me. But for starters:

libgpm.so.1 shouldn't be in /usr - it should be either in usr/lib or
usr/local/lib. In that case, your machine will automatically do the link,
when it executes ldconfig.

> 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.

GPM is a combination of both - it permits using the mouse to 'paint' parts
of text screens and past them as if someone is typing - so it does have
something to mouse _and_ keyboard.

> 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...

Can't help you there. 


> 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
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal

More information about the fpc-pascal mailing list