[comp.sys.amiga.tech] How to use Alternate Keymap in Program

derhak@cs.utah.edu (Max W. Derhak) (09/29/89)

I'm working on sort of a text editor, and i'm using RawKeyConvert to 
process the keys as they are entered.  In the documentation that I have
(I do have the RKMs, but for rev 1.0 ... I know, it's old, but I have no
money to get the lastest issue, so thats why I'm asking) it mentions
that you can provide your own KeyMap structure to RawKeyConvert.

My question is:  What does a KeyMap structure look like, and is there a
way I can load in a KeyMap into my program from DEVS:keymaps without
using the cli command setkeymap.

I'd either like to be able to convert a DEVS:Keymap file to C code, or get
some idea how to load it in from disk.

Your help will be appreciated!

==========================================================================
 Lekarz  THE //\/\    //| \ /  #  Max Derhak (derhak@cs.utah.edu) :^>
   od    \\ //    \  //-|  X   #  Oh Yeah?  If you think that was neat
  Raju!   \X/      \//  | / \  o      wait till you see THIS!

kodiak@amiga.UUCP (Robert R. Burns) (10/03/89)

In article <1989Sep29.083458.101@hellgate.utah.edu> derhak@cs.utah.edu (Max W. Derhak) writes:
)My question is:  What does a KeyMap structure look like, and is there a
)way I can load in a KeyMap into my program from DEVS:keymaps without
)using the cli command setkeymap.

The include file "devices/keymap.h" provides clues.  The KeyMap structure
address you pass to RawKeyConvert is embedded in the KeyMapNode structure
that hangs off the KeyMapResource (found via OpenResource("keymap.resource")).
Files in DEVS:keymaps are object files that, when LoadSeg()'d, contain a
KeyMapNode (at address <result-of-LoadSeg-if-not-zero>*4+4).
-- 
Bob Burns, amiga!kodiak				   _
	| /_  _|. _ |	   Commodore __		  |_) _ |_  _ )'
	|<(_)(_)|(_\|<	    /\ |  ||| _` /\	  |_)(_\| )(_\ |
	| \ Software	___/..\|\/|||__|/..\___		   Faith

fgd3@jc3b21.UUCP (Fabbian G. Dufoe) (10/03/89)

     I posted message <1982.AA1982@americ> from erk@americ.UUCP (Erick
Parsons) on a local BBS.  Brian Heyboer asked me to post the following
reply.  I tried mailing it but that bounced twice.

--Fabbian Dufoe
  350 Ling-A-Mor Terrace South
  St. Petersburg, Florida  33705
  813-823-2350

UUCP: ...uunet!pdn!jc3b21!fgd3
--------------------------------------------------------------------------
Looks like a pretty comprehensive list there. 
I noticed one A500 fix isn't listed, though.  It affects 500's that have been
expanded with more than one item, especially if one of those is an internal
memory board or processor accelerator that plugs into the 68000 socket. In
location R103 (to the right of the 68000 on the Rev 5 boards) is a capacitor
between the main CPU clock and ground. The schematic shows it as a 120 ohm
resistor.  Things can get _really_ flaky (guru convention, floppy drive
read-write errors, etc.) when the bus gets loaded down unless this capacitor
is removed.  It is apparently there as a kludge to get the 500 through FCC
certification, it certainly has no place in a good design.  Since it is there
for FCC requirements, the legality of this mod, especially by a dealer, is
questionable. I've seen messages indicating that some cards don't seem to
"play together" very well on the Rev 6 A2000 boards, and I wonder if it is a
similar problem (the symptoms certainly sound similar).