[fpc-devel] Not sure if right place to ask...

Ozz Nixon ozznixon at gmail.com
Tue Oct 3 18:20:27 CEST 2017


Testing the “Keyboard” unit on my Mac.

CODE:
{$mode delphi}{$H+} // DOES NOT MATTER IF THIS IS INCLUDED OR NOT //

uses
   keyboard;

var
   K:TKeyEvent;

begin
   InitKeyboard;
   While GetKeyEventChar(K)<>'q' do begin
      If Keypressed then begin
         K:=GetKeyEvent;
         K:=TranslateKeyEvent(K);
         Write('* Got key event with ');
         Case GetKeyEventFlags(K) of
            kbASCII   :Writeln('ASCII key');
            kbUniCode :Writeln('Unicode key');
            kbFnKey   :Writeln('Function key');
            kbPhys    :Writeln('Physical key');
            kbReleased:Writeln('Released key event');
         end;
         Writeln('Got key : ',KeyEventToString(K),' #',Ord(GetKeyEventChar(K)));
      End;
   End;
   DoneKeyboard;
end.

I found so far using iTerm2:
	Function Key - working
	Ctrl-A must be pressed twice to return #$01
	Ctrl-Z must be pressed twice to return #$1A
	All other Ctrl sequences worked fine
	Alt-Left returns Key with scancode 39680
	Alt-Right returns Key with scancode 40192
	Alt-Up returns Key with scancode 38912
	Alt-Down returns Key with scancode 40960
	However, Alt-Key sequences are not returning as Unicode (as I thought they should), instead it lops twice and gives me #195 then #165 for Alt-A, while Alt-[ returns #226, #128, #156 as “ASCII key”.

Switching to Apple’s Terminal:
	Function Key - working
	Ctrl-A must be pressed twice to return #$01
	Ctrl-Z must be pressed twice to return #$1A
	All other Ctrl sequences worked fine
	Alt-A works fine.
DIFF:	Alt-Up Arrow, Alt-Down Arrow does not return anything, yet…
	Alt-Left returns Key with scancode 12288
	Alt-Right returns Key with scancode 8448

* Obviously, I am seeing a variance based upon the terminal app. Is this expected? I never see “released key event”, is that expected in a terminal also?

Also on both terminals, if I do Ctrl-A release, then Alt-A, I see “Got key : SHIFT" and the ALT-A output.

Ozz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20171003/438fb662/attachment.html>


More information about the fpc-devel mailing list