T.R | Title | User | Personal Name | Date | Lines |
---|
2489.1 | MEMACS | ANT::JANZEN | T - 500 picoseconds and counting | Wed Apr 19 1989 21:48 | 7 |
| The micro EMACS that comes with workbench 1.3 on the extras disk
has two windows, and multiple buffers (I can't tell what the limit
is). It also has set-key. It says "Allows you to redefine all
of the functions keys, the Shifted function keys, or any key on
the numeric keypad as keyboard macros"
Tom
|
2489.2 | All this and more for one low low price | LEDDEV::WALLACE | | Thu Apr 20 1989 11:29 | 9 |
| MicroEmacs V3.10 can do all of what you mentioned.
I am finishing up on a new init file (EMACS.RC) for MicroEmacs V3.10
that does the full EDT keypad emulation. Right now the init file will
work on the ST and VMS. If someone can tell me what the keypad key
codes are under MicroEmacs 3.10 on the Amiga I will make I will post it
here when it's done.
Ray
|
2489.3 | thanks | STAR::ROBINSON | | Thu Apr 20 1989 11:34 | 3 |
| Great. I guess Memacs is the one to explore. And the price is right!
thanks,
Dave
|
2489.4 | Made any progress with this one? | ATLV5::MCDONALD_J | Surly to bed, surly to rise... | Sun Dec 31 1989 17:21 | 21 |
| I've lately become fed up with every amiga editor I have and I'm
looking for something better. I'd like pretty much what .0 asked for.
I looked into MEmacs 1.3 which was included on the WB1.3 extras disk.
It seems like a nice powerful editor, but there doesn't appear to be a
way to Set-Key ALL of the keypad keys... just the numbers. So close,
yet not quite there. :-(
Has anyone else figured out a solution to this problem? Should I take
a look at GNU EMacs from the fish disks? One of the earlier replies
indicates that MicroEmacs 3.? will let you redefine ALL of the keypad
keys. Anyone know if there's a copy of this available for the Amiga?
I'm gonna poke through the fish disks and try to find a newer MEmacs or
maybe the GNU Emacs. I'll post what I find. In the meantime, if
anyone's already been this route, I'd appreciate hearing about your
experience.
John
|
2489.5 | Work proceeding nicely, but need help... | ATLV5::MCDONALD_J | Surly to bed, surly to rise... | Sun Jan 07 1990 17:12 | 36 |
| Well, I've got MicroEMACS V3.9 for the amiga downloaded and compiled
under Lattice V5.04. After reading through the documentation, I'm
quite impressed. It's a very nice piece of work... my compliments to
Daniel Lawrence, its author.
Anyway, I've run it with the amiga.rc file and it works like it's
supposed to. Thanks to Ray Wallace, I've got a copy of an RC file that
makes Emacs emulate the EDT keypad on a VAX and on an Atari. It
doesn't look as if it's going to be very difficult to modify it to work
for the Amiga as well.
My next step is getting the Amiga keyboard mapped into MicroEMACS. So
far,its knowledge of the amiga keys is very limited.
Help key = 0x0800|"?"
Up Arrow = 0x0800|"A"
Down Arrow = 0x0800|"B"
Right Arrow = 0x0800|"C"
Left Arrow = 0x0800|"D"
.
.
.
Del Key? = 127
And about 12 other keys. (Shifted function keys and shifted left and
right arrow keys.)
I can't get the EDT keypad .RC file working until I can get a full
listing of the data sequences that the keypad keys generate. Do any of
you know where I can find this info? If not, I'll throw together a
quick C program and map the data by hand, but if it's already collected
somewhere...
John
|
2489.6 | | WJG::GUINEAU | Quantum Reality | Mon Jan 08 1990 06:55 | 6 |
| Those sequences should be in the ROM kernel manuals. I'll check it out.
When you get EVE/TPU emulation working, will you upload the rc file?!?!
John
|
2489.7 | Just setting the GOLD key on the keypad would be great. | STAR::ROBINSON | | Mon Jan 08 1990 12:26 | 7 |
|
>When you get EVE/TPU emulation working, will you upload the rc file?!?!
I'll second that. I explored this some but got stuck where you are going
beyond, at the keyboard map stage. If you can get a gold key
to work as in EDT or EVE, I would be very interested.
Dave
|
2489.8 | It'll be a pleasure to share whatever I can do. | ATLV5::MCDONALD_J | Surly to bed, surly to rise... | Mon Jan 08 1990 20:04 | 23 |
| re: .6 & .7
Sure thing. Work on the project is going to be interrupted for about
three or four days, since I'm going to be in the middle of a move and
my Amy is going to be safely packed away in her original boxes. After
I get to Orlando, I'll get back on it... maybe by this weekend or so.
I'm out of luck on the ROM Kernal manual. The only one I've got is the
Exec manual, and I couldn't find the key mappings in there. If no one
pops up with the info on-line before I get settled in Orlando, I'll
just chunk together a quick C program to figure them out.
As for the gold key, the suprising richness of MicroEMACS is going to
make it pretty easy. I'll just bind a macro to that key which turns on
a boolean variable. Each of the other key routines can just check that
variable and act upon it... er... and reset of when they act, of
course. That's the theory, anyway. We'll see how it works out.
Well, wish me luck with the move. If any of you decide to head down to
Disney World sometime in the next 6 months, be sure and look me up.
John
|
2489.9 | Need some experienced guidance... | ATLV5::MCDONALD_J | Surly to bed, surly to rise... | Wed Jan 24 1990 22:50 | 44 |
| I FINALLY got a chance to get back to MicroEMACS. I've run into a wall
and just don't have enough experience with Amiga programming to know
the answer. I've included a code segment below from MicroEMACS. This
is the terminal input code, modified to print out the hex value
returned whenever a key is pressed.
This doesn't appear to be the right way to read keystrokes. With this
method, the keypad keys return the same hex values as their normal
keyboard counterparts. Can anyone tell me what changes I need to make
to this segment to make it able to distinguish keypad keys from
typewriter keyboard keys? (I would ask you to point me to the correct
documentation, but since I only have one of the ROM Kernal manuals,
it's likely that I don't own the right books. If I'm going to keep
programming on the Amiga, I guess I'm gonna have to break down and buy
those.)
-------------------------- Cut Here -----------------------------
#define NEW 1006L
#include <stdio.h>
#include <signal.h>
static long terminal;
main()
{
short ichar,i;
char oline[60];
strcpy(oline, "RAW:0/0/640/200/Test /Amiga");
terminal = Open(oline, NEW);
for (i=0; i<100; ++i)
{
ichar = ttgetc();
printf("HEX: %04x \n", ichar, ichar);
}
Close(terminal);
}
ttgetc()
{
char ch;
Read(terminal, &ch, 1L);
return(255 & (int)ch);
}
|
2489.10 | Intui RAWKEY? | WJG::GUINEAU | | Wed Jan 24 1990 23:13 | 6 |
|
Maybe try using the intuition IDCMP port of your window and ask for
RAWKEY events?
John
|
2489.11 | Made some progress, but not much... | ATLV5::MCDONALD_J | Surly to bed, surly to rise... | Sun Feb 25 1990 11:23 | 40 |
| Finally got a chance to work on the Keymapping problem for MicroEMACS
once again. (New assignment has had me working 'til 7:30 p.m. almost
every night! Haven't felt much like fooling with a computer at home
after days like that.) I have made some slight progress that, if
nothing else, fellow novice programmers will be interested in for it's
information value.
I did as you suggested, John, and looked into the IDCMP flags. The
VANILLAKEY flag lets me get translated characters back from the
keyboard but also get qualifier information as well... (i.e. Whether
the shift key was pressed, and/or the control key, the left/right amiga
key... and also if the key was on the numeric keypad. GREAT!, I
thought. Seems like it would make my task trivial... only Intuition
doesn't seem to recognize ALL of the keypad keys as keypad keys. The
top row of keys and the keypad "+" key all fail to set the NUMERICPAD
qualifier bit when they're pressed. All of the other keypad seem to
work properly.
I thought that maybe the problem was with the standard AmigaDOS keymap.
After all, it's got to support 1000s which don't have those keypad
keys. So, if this is the case, there should be another keymap included
on the Workbench that has ALL of th B2000 keys mapped correctly. No
dice. If it's there, I don't know what it's called, and I couldn't
find where it was documented.
I looked into creating my own alternate keymap, but all my
documentation indicates that you have to do this via a console port.
It's easy enough to read and write from/to a console port, but the
problem that then pops up is that you have two ports to watch for
input. I don't think the "Wait()" command will wait on two ports, will
it?
Any ideas? I'm interested in any ramblings that anyone has. I found a
friend who's using Matt Dillon's DME editor and who has the source code
to it. He says that DME recognizes the entire numeric keypad. I'm
going to take a look at the source code and see how Matt handled this
one... when I can get another hour or two free, that is. 8-]
John
|
2489.12 | | WJG::GUINEAU | | Sun Feb 25 1990 16:01 | 3 |
| �s a wild guess, do youhave a "SetMap USA1" in your startup-sequence?
John
|
2489.13 | | TLE::RMEYERS | Randy Meyers | Mon Feb 26 1990 22:05 | 33 |
| Re: .11
I have the source to an USA1 compatible keymap. You might be able to
hack on it to get a keymap that does what you want.
To build it, just run the source though an assembler and link it
(keymaps, like fonts, devices, and libraries, are executables
on the Amiga).
The source is TLE""::uport$:[rmeyers.trade.amiga]usa1.a.
Use the SetMap program on the Workbench disk to make the keymap
the default for your system (easier than just using it for emacs!).
> I looked into creating my own alternate keymap, but all my
> documentation indicates that you have to do this via a console port.
> It's easy enough to read and write from/to a console port, but the
> problem that then pops up is that you have two ports to watch for
> input. I don't think the "Wait()" command will wait on two ports, will
> it?
WaitPort() has a problem waiting on two ports, but Wait() has no problem
at all. Wait() waits on signals. WaitPort() waits on the signals
form a single port. If you have two ports, call Wait() with an argument
that is the logical OR of the the two ports' signal mask.
You probably don't need to open a separate console port anymore if
you establish a good default keymap. However, if that doesn't work,
you probably still don't need to worry with two ports since you can
do console operations on your already open window. (If you are
starting with an Intuition window, when you open a console.device,
you feed it a pointer to your intuition window. You can then do
all your windowing operations though the console.)
|
2489.14 | Great! Just what I need... | ATLV5::MCDONALD_J | Surly to bed, surly to rise... | Thu Mar 01 1990 17:32 | 27 |
| Re: .12
I'm using whatever the default WB1.3 keymap is... I think it's
USA1, but I can't remember and I'm not at home right now. Hmm... I
understand that A1000 compatibility may be a reason that this keymap is
provided as the default, but it seems an oversight on Commodore's part
to have not included a new keymap for A500s/A2000s... doesn't it?
Re: .13
Thanks Randy. I like the idea of making an A2000 keymap and
putting it in as the default, as long as this won't affect any other
software packages I use. Since I'm only ADDING a qualifier bit, I
wouldn't think that it would cause any problems. If it does, I'll try
what you mentioned about the Console/Intuition port link. Hmm... I
wonder why the "Advanced C for the Amiga" book I've been using didn't
include that information. Their example indicated that the console
port and the intuition window message port were separate.
Again, thanks for the info. I'll get back on this as soon as I can get
a few minutes free. My wife's about to start a regular gig at one of
the local hotels, so I might have some lonely evenings coming up.
They're a pretty good opportunity to work on my Ami without feeling
guilty about spending more time with computers than with her. ;-)
John
|
2489.15 | Chapter the-next... | ATLV5::MCDONALD_J | Surly to bed, surly to rise... | Thu Mar 22 1990 16:13 | 26 |
| Step the-next in the great Amiga-MEMACS saga...
Well, between working 10+ hours/day at the customer site and doing my
income taxes, I have managed to squeeze in a couple of minutes to
fiddle with the Keymap source. What I found can't be considered good
by any stretch of the imagination.
I had hoped to modify the KEYMAP so that ALL of the numeric keypad keys
returned the NUMERICPAD bit set when pressed. As it turns out, it's
not the keymap that specifies whether or not that bit get set. It's
the kickstart ROM. It looks as if Commodore forgot to add that
functionality into the 1.3 Kickstart. Maybe somebody who's a developer
(Christian, are you listening?) could remind them to be sure and
include this fix in the next version of Kickstart?
In the meantime, I've got to figure out another approach. I could use
RAWKEYs, but the way MEMACS is written, I'd almost have to translate
the rawkey to ASCII+qualifiers and then pass it to MEMACS, which would
translate it again into whatever it needs to be. Hmm... Maybe I can
get around tha somehow...
I'll work on this more after next week. I've got company visiting 'til
then, so the Amy might be a bit lonely. :-(
Later,
John
|