home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 10
/
Fresh_Fish_10_2352.bin
/
useful
/
util
/
edit
/
mg
/
src.lzh
/
amiga
/
amiga_maps.h
next >
Wrap
C/C++ Source or Header
|
1990-05-23
|
5KB
|
165 lines
/*
* Name: MG 2a keymap.c setup for Amiga-specific function keys.
* Created: 14-May-1988 Mic Kaczmarczik (mic@emx.utexas.edu) Last edit:
* 14-May-1988 Mic Kaczmarczik
*
* One big table for coding convenience, because the number of different
* compilation possibilities makes setting up data structures kind of tricky.
* Once again for convenience, the file is #included into keymap.c instead of
* being linked. I tried to minimize the changes to keymap.c, while making
* it possible to have the Amiga function/arrow keys in dired mode as well as
* fundamental mode. In the future, we might want to rebind some of the
* function keys in dired mode, but for right now they do the same thing as
* in fundamental mode.
*/
/* Carefully include anything we may have missed */
#ifndef FKEYS
#include "fkeys.h"
#endif
#ifndef BROWSER
#include "browser.h"
#endif
#ifndef MOUSE
#include "mouse.h"
#endif
#ifndef MENU
#include "menu.h"
#endif
#ifndef DO_ICONIFY
#include "do_iconify.h"
#endif
static struct function amiga_keys[] = {
#ifdef FKEYS
{backline, F_CFUNCT}, /* Up (0x100) */
{forwline, F_CFUNCT}, /* Down */
{backchar, F_CFUNCT}, /* Left */
{forwchar, F_CFUNCT}, /* Right */
{gotobop, F_CFUNCT}, /* Shift-Up */
{gotoeop, F_CFUNCT}, /* Shift-Down */
{backword, F_CFUNCT}, /* Shift-Left */
{forwword, F_CFUNCT}, /* Shift-Right (0x107) */
#else
/* 8 unbound keys */
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
#endif
#ifdef FKEYS
{filevisit, F_CFUNCT}, /* F1 (0x108) */
{filesave, F_CFUNCT}, /* F2 */
{forwpage, F_CFUNCT}, /* F3 */
{enlargewind, F_CFUNCT},/* F4 */
{fillpara, F_CFUNCT}, /* F5 */
{splitwind, F_CFUNCT}, /* F6 */
{twiddle, F_CFUNCT}, /* F7 */
{definemacro, F_CFUNCT},/* F8 */
{executemacro, F_CFUNCT}, /* F9 */
{listbuffers, F_CFUNCT},/* F10 */
{poptofile, F_CFUNCT}, /* Shift-F1 (0x112) */
{filewrite, F_CFUNCT}, /* Shift-F2 */
{backpage, F_CFUNCT}, /* Shift-F3 */
{shrinkwind, F_CFUNCT}, /* Shift-F4 */
{queryrepl, F_CFUNCT}, /* Shift-F5 */
{onlywind, F_CFUNCT}, /* Shift-F6 */
{justone, F_CFUNCT}, /* Shift-F7 */
{finishmacro, F_CFUNCT},/* Shift-F8 */
{wallchart, F_CFUNCT}, /* Shift-F9 */
{quit, F_CFUNCT}, /* Shift-F10 (0x11B) */
#else
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
{rescan, F_CFUNCT},
#endif
#ifdef FKEYS
{desckey, F_CFUNCT}, /* Help (0x11C) */
#else
{rescan, F_CFUNCT},
#endif
#ifdef DO_MENU
{amigamenu, F_CFUNCT}, /* Menu selction (0x11D) */
#else
{rescan, F_CFUNCT}, /* Menu selection (0x11D) */
#endif
{refresh, F_CFUNCT}, /* Resize window (0x11E) */
{rescan, F_CFUNCT}, /* used to be Mouse */
#ifdef MOUSE
{amigamouse, F_CFUNCT}, /* Mouse (0x120) */
{mforwdel, F_CFUNCT}, /* Ctrl-Mouse */
{mreposition, F_CFUNCT},/* Shift-Mouse */
{mdelwhite, F_CFUNCT}, /* Shift-Ctrl-Mouse */
{mdelfword, F_CFUNCT}, /* Meta-Mouse */
{mkillregion, F_CFUNCT},/* Meta-Ctrl-Mouse */
{mkillline, F_CFUNCT}, /* Meta-Shift-Mouse */
{myank, F_CFUNCT}, /* Meta-Shift-Ctrl-Mouse */
{mforwpage, F_CFUNCT}, /* Mode-Mouse (0x128) */
{mgotobob, F_CFUNCT}, /* Ctrl-Mode-Mouse */
{mbackpage, F_CFUNCT}, /* Shift-Mode-Mouse */
{mgotoeob, F_CFUNCT}, /* Shift-Ctrl-Mode-Mouse */
{msplitwind, F_CFUNCT}, /* Meta-Mode-Mouse */
{menlargewind, F_CFUNCT}, /* Meta-Ctrl-Mode-Mouse */
{mdelwind, F_CFUNCT}, /* Meta-Shift-Mode-Mouse */
{mshrinkwind, F_CFUNCT},/* Meta-Shift-Ctrl-Mode-Mouse */
#ifdef DO_ICONIFY
{tticon, F_CFUNCT}, /* Echo-Mouse (0x130) */
#else
{usebuffer, F_CFUNCT}, /* Echo-Mouse (0x130) */
#endif
{spawncli, F_CFUNCT}, /* Ctrl-Echo-Mouse */
{killbuffer, F_CFUNCT}, /* Shift-Echo-Mouse */
{quit, F_CFUNCT}, /* Shift-Ctrl-Echo-Mouse */
{desckey, F_CFUNCT}, /* Meta-Echo-Mouse */
{listbuffers, F_CFUNCT},/* Meta-Ctrl-Echo-Mouse */
{wallchart, F_CFUNCT}, /* Meta-Shift-Echo-Mouse */
{togglewindow, F_CFUNCT}, /* Meta-Shift-Ctrl-Echo-Mouse */
#endif
};
/*
* Define extra maps for fundamental mode. Have to provide the number of
* extra map segments because it's used by the KEYMAPE() macro that builds
* keymaps. The keymap setup, while compact, is pretty complex...
*/
#define NFUND_XMAPS 1
#ifdef MOUSE
#define FUND_XMAPS {KUP, KEASCMOUSE, amiga_keys}
#else
#define FUND_XMAPS {KUP, KSF10, amiga_keys}
#endif
/*
* Extra map segments for dired mode -- just use fundamental mode segments
*/
#define NDIRED_XMAPS NFUND_XMAPS
#define DIRED_XMAPS FUND_XMAPS