🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #12459

Re: Keyboard input via GetMsg().

#12459
From: Matt Dillon
Date: Mon, 01 May 1989 21:08
32 lines
1719 bytes
:Okay.  Another dumb question.  I want my program to accept keyboard
:commands including arrow keys, keypad, and function keys.  Thus, I
:have set "VANILLAKEYS" in my window's idcmpflag field.  Then, when
:I GetMsg() and it's a vanillakey, I handle the character.
:
:Question 1: Is this the most efficient/reasonable way to get character
:input.

	Yes, but as you found out it has some major deficiencies.

:Question 2: How come I'm not getting messages for arrow keys, about
:half the keypad, and function keys?  Can I get these at all with
:vanillakeys?  I tried rawkey instead, but I don't really want to
:wade through all that crap it sends me.  Is this the only way?

	VANILLAKEYS was implemented badly.  You only get events for
(as far as I can tell), single-printable-characters, and maybe not
even all of those.

:Question 3: What do I really need to know about internationalizing
:things?  (Or should I just go read a recent Amy Transactor for more
:info on this last one?)

	You need to use RAWKEYS and then DeadKeyConvert() to properly
handle the keyboard, plus be prepared to handle DeadKeyConvert() 
returning strings larger than a character in length.  DeadKeyConvert()
uses RawKeyConvert().  If you aren't familar with it, I suppose you
can send me email and I'll work up an example.

>-Joe

				-Matt
Technical Details
Message-ID: <8905012108.AA25702@postgres.Berkeley.EDU>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!POSTGRES.BERKELEY.EDU!dillon

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!POSTGRES.BERKELEY.EDU!dillon
From: dillon@POSTGRES.BERKELEY.EDU (Matt Dillon)
Newsgroups: comp.sys.amiga.tech
Subject: Re: Keyboard input via GetMsg().
Message-ID: <8905012108.AA25702@postgres.Berkeley.EDU>
Date: 1 May 89 21:08:44 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Lines: 32