lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

lynx-dev Revised DOS patch against lynx2.8.1dev.13


From: Doug Kaufman
Subject: lynx-dev Revised DOS patch against lynx2.8.1dev.13
Date: Sun, 31 May 1998 13:14:10 -0700 (PDT)

I have gone over the keymap changes that I previously submitted (I
left out the place marker for 0x10f), and the keymappings used by the
various keyhandlers (slang, djgpp, and pdcurses), and have put together
a revised patch that gets rid of the switch statements in LYStrings.c,
instead mapping the keys to the appropriate action in LYKeymap.c. This
patch replaces the ones prevously submitted. I have built and tested
this with all three DOS versions (using makefile.dos, makefile.dsl,
and makefile.wsl). Special keys can now be mapped as KEYMAP statements
in lynx.cfg for all the versions, although the version built with
makefile.wsl doesn't allow mapping of ALT keys. If there aren't any
problems with this, I will try to modify INSTALLATION to reflect the
different DOS options.

I have attached the files with the numerical values to use when mapping
the special keys under DOS for  each version. Since they are only used
for the DOS port, they have DOS EOL's.

The keymaps for values greater than 0x10e don't specify that they are
for DJGPP, but except for DJGPP such values are mapped to 0. John
Davis's recent keymap patch isn't used, but since DOS is generally a
single-user system, mapping in lynx.cfg should be acceptable. I'll plan
to keep looking to see if the patch can be integrated with the DJGPP
version.
                             Doug


*** lynx2-8/src/LYCurses.h      Sun May 10 20:51:04 1998
--- lynx2-8/src/LYCurses.h.new  Sun May 31 10:54:00 1998
***************
*** 188,196 ****
  #define USE_SLANG_MOUSE               1
  #endif /* USE_SLANG */
  
! #if SLANG_VERSION >= 10000
  #define USE_SLANG_KEYMAPS     1
! #endif
  
  #define SL_LYNX_USE_COLOR     1
  #define SL_LYNX_USE_BLINK     2
--- 188,196 ----
  #define USE_SLANG_MOUSE               1
  #endif /* USE_SLANG */
  
! #if ((SLANG_VERSION >= 10000) && !defined(__DJGPP__))
  #define USE_SLANG_KEYMAPS     1
! #endif /* SLANG_VERSION >= 10000 */
  
  #define SL_LYNX_USE_COLOR     1
  #define SL_LYNX_USE_BLINK     2
*** lynx2-8/src/LYKeymap.c      Wed Mar 25 05:58:54 1998
--- lynx2-8/src/LYKeymap.c.new  Sun May 31 12:01:16 1998
***************
*** 208,219 ****
--- 208,244 ----
     0,                  0,              0,             0,
  
  /* 100..10E function key definitions in LYStrings.h */
+ #if defined(__DJGPP__) && defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER)
+    0,             LYK_PREV_LINK,    LYK_NEXT_LINK,  LYK_PREV_DOC,
+                   /* UPARROW */     /* DNARROW */   /* LTARROW */
+ 
+ LYK_ACTIVATE,    LYK_PREV_PAGE,    LYK_NEXT_PAGE,     LYK_HOME,
+ /* RTARROW */    /* PGUP */        /* PGDOWN */       /* HOME */
+ 
+ #else
  LYK_PREV_LINK,    LYK_NEXT_LINK,    LYK_ACTIVATE,   LYK_PREV_DOC,
  /* UPARROW */     /* DNARROW */     /* RTARROW */   /* LTARROW */
  
  LYK_NEXT_PAGE,    LYK_PREV_PAGE,    LYK_HOME,       LYK_END,
  /* PGDOWN */      /* PGUP */        /* HOME */      /* END */
  
+ #endif /* __DJGPP__ && USE_SLANG && !DJGPP_KEYHANDLER */
+ #ifdef __DJGPP__
+ #ifdef USE_SLANG
+ LYK_END,          LYK_HOME,         LYK_PREV_PAGE,     0,
+ /* END */       /* HOME */          /* PGUP */       /* B2 Key */
+ 
+ LYK_END,          LYK_NEXT_PAGE,       0,
+ /* END */         /* PGDOWN */
+ 
+ #else
+    0,             LYK_HELP,            0,              0,
+ /* F0 */        /* F1 */          /* F2 */        /* F3 */
+ 
+    0,                  0,              0,
+ 
+ #endif /* USE_SLANG */
+ #else
  LYK_HELP,         LYK_ACTIVATE,     LYK_HOME,       LYK_END,
  /* F1*/         /* Do key */      /* Find key */  /* Select key */
  
***************
*** 222,227 ****
--- 247,403 ----
  
  LYK_DO_NOTHING,
  /* DO_NOTHING*/
+ #endif /* __DJGPP__ */
+ /* 10F..18F */
+ 
+    0,
+ #if defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER)
+    LYK_HISTORY,        LYK_ACTIVATE,   0,             0,
+    /* Backspace */     /* Enter */
+ #else
+    0,                  0,              0,             0,
+ #endif /* USE_SLANG */
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+ #ifdef DJGPP_KEYHANDLER
+    0,                  LYK_ABORT,      0,             0,
+                        /* ALT_X */
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             LYK_HELP,
+                                                       /* F1 */
+ #else
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+ #endif /* DJGPP_KEYHANDLER */
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+ #ifdef DJGPP_KEYHANDLER
+    0,                  0,              0,             LYK_HOME,
+                                                       /* HOME */
+ LYK_PREV_LINK,         LYK_PREV_PAGE,  0,             LYK_PREV_DOC,
+ /* UPARROW */          /* Page Up */                  /* LEFTARROW */
+    0,                  LYK_ACTIVATE,   0,             LYK_END,
+                        /* RTARROW */                  /* END */
+ LYK_NEXT_LINK,         LYK_NEXT_PAGE,  0,             0,
+ /* DNARROW */          /* Page Down */
+ #else
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+ #endif /* DJGPP_KEYHANDLER */
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+ /* 190..20F */
+ 
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    LYK_ABORT,          0,              0,             0,
+    /* ALT_X */
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,           LYK_ACTIVATE,
+                                                     /* KP_ENTER */
+    0,                  0,              0,           LYK_IMAGE_TOGGLE,
+                                                     /* KP_* */        
+    LYK_PREV_PAGE,      LYK_NEXT_PAGE,  0,             0,
+    /* KP_- */          /* KP_+ */
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+ #if defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER)
+    0,                  LYK_HELP,       0,             0,
+                        /* F1 */
+ #else
+    0,                  0,              0,             0,
+ #endif /* USE_SLANG */
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+ /* 210..28F */
+ 
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+ #ifdef DJGPP_KEYHANDLER
+    0,                  0,              0,             LYK_HOME,
+                                                       /* HOME */
+ LYK_PREV_LINK,         LYK_PREV_PAGE,  0,             LYK_PREV_DOC,
+ /* UPARROW */          /* Page Up */                  /* LEFTARROW */
+    0,                  LYK_ACTIVATE,   0,             LYK_END,
+                        /* RTARROW */                  /* END */
+ LYK_NEXT_LINK,         LYK_NEXT_PAGE,  0,             0,
+ /* DNARROW */          /* Page Down */
+ #else
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+ #endif /* DJGPP_KEYHANDLER */
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    0,                  0,              0,             0,
+    /* 290...293 */
+    0,                  0,              0,             0,
  };
  
  #if defined(DIRED_SUPPORT) && defined(OK_OVERRIDE)
*** lystrinc.ori        Thu May 14 07:01:12 1998
--- lystring.c  Sun May 31 01:01:40 1998
***************
*** 466,472 ****
--- 466,476 ----
     keymap_file = "lynx.keymaps";
     home = "SYS$LOGIN:";
  #else
+ #ifdef FNAMES_8_3
+    keymap_file = "/_lynxkey.map";
+ #else
     keymap_file = "/.lynx-keymaps";
+ #endif /* FNAMES_8_3 */
     home = getenv ("HOME");
     if (home == NULL) home = "";
  #endif
***************
*** 602,629 ****
     }
  #endif /* !USE_SLANG || VMS */
  
- /* The RAWDOSKEYHACK takes key definitions from curses.h (when using
-  * PDCURSES) or from the DJGPP file keys.h (when using SLANG) and maps
-  * them to the values used by the lynx file LYKeymap.c. */
- 
- #ifdef RAWDOSKEYHACK
-     if (raw_dos_key_hack) {
-       if (c == 0) c = '/';
-       if (c > 255) {      /* handle raw dos keys */
-           switch (c)
-           {
-               case 464: c = '-';      break;  /* keypad minus*/
-               case 465: c = '+';      break;  /* keypad plus*/
-               case 459: c = 13;       break;  /* keypad enter*/
-               case 463: c = '*';      break;  /* keypad * */
-               case 440: c = 'Q';      break;  /* alt x */
-               case 265: c = 'H';      break;  /* F1 */
-               default: break;
-           }
-       }
-     }
- #endif /* RAWDOSKEYHACK */
- 
  #ifdef USE_GETCHAR
      if (c == EOF && errno == EINTR)   /* Ctrl-Z causes EINTR in getchar() */
        goto re_read;
--- 606,611 ----
***************
*** 791,864 ****
        if (isdigit(a) && (b == '[' || c == 155) && d != -1 && d != '~')
            d = GetChar();
      }
- #if defined(__DJGPP__) && defined(USE_SLANG)
- #ifdef DJGPP_KEYHANDLER
-     else { /* DJGPP keypad interface (see file "keys.h" for definitions) */
-       switch (c) {
-           case K_Up:          c = UPARROW;    break; /* up arrow */
-           case K_EUp:         c = UPARROW;    break; /* up arrow */
-           case K_Down:        c = DNARROW;    break; /* down arrow */
-           case K_EDown:       c = DNARROW;    break; /* down arrow */
-           case K_Right:       c = RTARROW;    break; /* right arrow */
-           case K_ERight:      c = RTARROW;    break; /* right arrow */
-           case K_Left:        c = LTARROW;    break; /* left arrow */
-           case K_ELeft:       c = LTARROW;    break; /* left arrow */
-           case K_PageDown:    c = PGDOWN;     break; /* page down */
-           case K_EPageDown:   c = PGDOWN;     break; /* page down */
-           case K_PageUp:      c = PGUP;       break; /* page up */
-           case K_EPageUp:     c = PGUP;       break; /* page up */
-           case K_Home:        c = HOME;       break; /* HOME */
-           case K_EHome:       c = HOME;       break; /* HOME */
-           case K_End:         c = END_KEY;    break; /* END */
-           case K_EEnd:        c = END_KEY;    break; /* END */
-           case K_F1:          c = F1;         break; /* F1 */
-           case K_Alt_X:       c = 4;          break; /* alt x */
-       }
-     }
- #else
-     else { /* SLang keypad interface (see file "slang.h" for definitions) */
-       switch (c) {
-       case SL_KEY_UP:
-           c = UPARROW;
-           break;
-       case SL_KEY_DOWN:
-           c = DNARROW;
-           break;
-       case SL_KEY_RIGHT:
-           c = RTARROW;
-           break;
-       case SL_KEY_B2:
-           c = DO_NOTHING;
-           break;
-       case SL_KEY_LEFT:
-           c = LTARROW;
-           break;
-       case SL_KEY_PPAGE:
-       case SL_KEY_A3:
-           c = PGUP;
-           break;
-       case SL_KEY_NPAGE:
-       case SL_KEY_C3:
-           c = PGDOWN;
-           break;
-       case SL_KEY_HOME:
-       case SL_KEY_A1:
-           c = HOME;
-           break;
-       case SL_KEY_END:
-       case SL_KEY_C1:
-           c = END_KEY;
-           break;
-       case SL_KEY_F(1):
-           c = F1;
-           break;
-       case SL_KEY_BACKSPACE:
-           c = 127;
-           break;
-       }
-     }
- #endif /* DJGPP_KEYHANDLER */
- #endif /* __DJGPP__ && USE_SLANG */
  #if HAVE_KEYPAD
      else {
        /*
--- 773,778 ----
***************
*** 926,932 ****
           c = 127;                /* backspace key (delete, not Ctrl-H) */
           break;
  #endif /* KEY_BACKSPACE */
! #ifdef KEY_F
        case KEY_F(1):
           c = F1;                 /* VTxxx Help */
           break;
--- 840,846 ----
           c = 127;                /* backspace key (delete, not Ctrl-H) */
           break;
  #endif /* KEY_BACKSPACE */
! #if defined(KEY_F) && !defined(__DJGPP__)
        case KEY_F(1):
           c = F1;                 /* VTxxx Help */
           break;
***************
*** 1001,1007 ****
      }
  #endif /* HAVE_KEYPAD */
  
!     if (c > DO_NOTHING) {
        /*
         *  Don't return raw values for KEYPAD symbols which we may have
         *  missed in the switch above if they are obviously invalid when
--- 915,926 ----
      }
  #endif /* HAVE_KEYPAD */
  
! #ifdef __DJGPP__
!     if (c > 659)
! #else
!     if (c > DO_NOTHING) 
! #endif /* __DJGPP__ */
!     {
        /*
         *  Don't return raw values for KEYPAD symbols which we may have
         *  missed in the switch above if they are obviously invalid when
*** lynx2-8/src/LYUtils.c       Sat May 23 19:16:00 1998
--- lynx2-8/src/LYUtils.c.new   Fri May 29 08:05:32 1998
***************
*** 16,21 ****
--- 16,24 ----
  #ifdef DOSPATH
  #include <HTDOS.h>
  #endif
+ #ifdef DJGPP_KEYHANDLER
+ #include <bios.h>
+ #endif /* DJGPP_KEYHANDLER */
  #ifdef DISP_PARTIAL
  #include <LYKeymap.h>
  #endif /* DISP_PARTIAL */
***************
*** 2059,2065 ****
--- 2062,2072 ----
        Note that this isn't taking possible SOCKSification
        and the socks_flag into account, and may fail on the
        slang library's select() when SOCKSified. - FM **/
+ #ifdef DJGPP_KEYHANDLER
+     if (0 == _bios_keybrd(_NKEYBRD_READY))
+ #else
      if (0 == SLang_input_pending(0))
+ #endif /* DJGPP_KEYHANDLER */
        return(FALSE);
  
  #else /* Unix curses: */
*** lynx2-8/src/makefile.dos    Fri Feb 27 10:25:08 1998
--- lynx2-8/src/makefile.dos.new        Sun May 31 12:16:08 1998
***************
*** 12,18 ****
  CFLAGS= $(MCFLAGS) -I. -I.. $(SLANGINC)
  
  CC = gcc
! MCFLAGS = -O3 -DRAWDOSKEYHACK -DUSE_ZLIB -DUSE_EXTERNALS -DCOLOR_CURSES 
-DNCURSES -DFANCY_CURSES -DACCESS_AUTH -DNO_CUSERID -DNOUSERS -DDOSPATH 
-DNO_TTYTYPE -DNO_UTMP -Ichrtrans -I../WWW/library/implementation -I../curses  
-I../djgpp/tcplib/include -I..


/djgpp/tcplib/include/tcp
  WWWLIB = ../WWW/library/djgpp/libwww.a ../curses/pdcurses.a 
../djgpp/tcplib/obj/libtcp.a
  LIBS=-lz
  
--- 12,18 ----
  CFLAGS= $(MCFLAGS) -I. -I.. $(SLANGINC)
  
  CC = gcc
! MCFLAGS = -O3 -DUSE_ZLIB -DUSE_EXTERNALS -DCOLOR_CURSES -DNCURSES 
-DFANCY_CURSES -DACCESS_AUTH -DNO_CUSERID -DNOUSERS -DDOSPATH -DNO_TTYTYPE 
-DNO_UTMP -Ichrtrans -I../WWW/library/implementation -I../curses  
-I../djgpp/tcplib/include -I../djgpp/tcplib/in


clude/tcp
  WWWLIB = ../WWW/library/djgpp/libwww.a ../curses/pdcurses.a 
../djgpp/tcplib/obj/libtcp.a
  LIBS=-lz
  
***************
*** 20,26 ****
  
  lynx:   message $(OBJS) $(WWWLIB)
        @echo "Linking and creating Lynx executable"
!       $(CC) $(CFLAGS) -o lynx  $(OBJS) $(WWWLIB) $(SLANGLIB) $(LIBS)
        @echo "Welcome to Lynx!"
  
  message:
--- 20,26 ----
  
  lynx:   message $(OBJS) $(WWWLIB)
        @echo "Linking and creating Lynx executable"
!       $(CC) $(CFLAGS) -o lynx.exe  $(OBJS) $(WWWLIB) $(SLANGLIB) $(LIBS)
        @echo "Welcome to Lynx!"
  
  message:
***************
*** 34,40 ****
        lint *.c  > ../lint.out
  
  clean:
!       rm -f lynx core *.[ob]
  
  LYMain.o: ../userdefs.h
  LYMainLoop.o: LYMainLoop.c ../userdefs.h
--- 34,40 ----
        lint *.c  > ../lint.out
  
  clean:
!       rm -f lynx.exe core *.[ob]
  
  LYMain.o: ../userdefs.h
  LYMainLoop.o: LYMainLoop.c ../userdefs.h
__
Doug Kaufman
Internet: address@hidden (preferred)
          address@hidden

                      DJGPP Keyhandler Keymaps



Control_A            0x001

Control_B            0x002

Control_C            0x003

Control_D            0x004

Control_E            0x005

Control_F            0x006

Control_G            0x007

BackSpace            0x008

Control_H            0x008

Tab                  0x009

Control_I            0x009

LineFeed             0x00a

Control_J            0x00a

Control_K            0x00b

Control_L            0x00c

Return               0x00d

Control_M            0x00d

Control_N            0x00e

Control_O            0x00f

Control_P            0x010

Control_Q            0x011

Control_R            0x012

Control_S            0x013

Control_T            0x014

Control_U            0x015

Control_V            0x016

Control_W            0x017

Control_X            0x018

Control_Y            0x019

Control_Z            0x01a

Control_LBracket     0x01b

Escape               0x01b

Control_BackSlash    0x01c

Control_RBracket     0x01d

Control_Caret        0x01e

Control_Underscore   0x01f

Space                0x020

ExclamationPoint     0x021

DoubleQuote          0x022

Hash                 0x023

Dollar               0x024

Percent              0x025

Ampersand            0x026

Quote                0x027

LParen               0x028

RParen               0x029

Star                 0x02a

Plus                 0x02b

Comma                0x02c

Dash                 0x02d

Period               0x02e

Slash                0x02f

Colon                0x03a

SemiColon            0x03b

LAngle               0x03c

Equals               0x03d

RAngle               0x03e

QuestionMark         0x03f

At                   0x040

LBracket             0x05b

BackSlash            0x05c

RBracket             0x05d

Caret                0x05e

UnderScore           0x05f

BackQuote            0x060

LBrace               0x07b

Pipe                 0x07c

RBrace               0x07d

Tilde                0x07e

Control_Backspace    0x07f

Alt_Escape           0x101

Control_At           0x103

Alt_Backspace        0x10e

BackTab              0x10f

Alt_Q                0x110

Alt_W                0x111

Alt_E                0x112

Alt_R                0x113

Alt_T                0x114

Alt_Y                0x115

Alt_U                0x116

Alt_I                0x117

Alt_O                0x118

Alt_P                0x119

Alt_LBracket         0x11a

Alt_RBracket         0x11b

Alt_Return           0x11c

Alt_A                0x11e

Alt_S                0x11f

Alt_D                0x120

Alt_F                0x121

Alt_G                0x122

Alt_H                0x123

Alt_J                0x124

Alt_K                0x125

Alt_L                0x126

Alt_Semicolon        0x127

Alt_Quote            0x128

Alt_Backquote        0x129

Alt_Backslash        0x12b

Alt_Z                0x12c

Alt_X                0x12d

Alt_C                0x12e

Alt_V                0x12f

Alt_B                0x130

Alt_N                0x131

Alt_M                0x132

Alt_Comma            0x133

Alt_Period           0x134

Alt_Slash            0x135

Alt_KPStar           0x137

F1                   0x13b

F2                   0x13c

F3                   0x13d

F4                   0x13e

F5                   0x13f

F6                   0x140

F7                   0x141

F8                   0x142

F9                   0x143

F10                  0x144

Home                 0x147

Up                   0x148

PageUp               0x149

Alt_KPMinus          0x14a

Left                 0x14b

Center               0x14c

Right                0x14d

Alt_KPPlus           0x14e

End                  0x14f

Down                 0x150

PageDown             0x151

Insert               0x152

Delete               0x153

Shift_F1             0x154

Shift_F2             0x155

Shift_F3             0x156

Shift_F4             0x157

Shift_F5             0x158

Shift_F6             0x159

Shift_F7             0x15a

Shift_F8             0x15b

Shift_F9             0x15c

Shift_F10            0x15d

Control_F1           0x15e

Control_F2           0x15f

Control_F3           0x160

Control_F4           0x161

Control_F5           0x162

Control_F6           0x163

Control_F7           0x164

Control_F8           0x165

Control_F9           0x166

Control_F10          0x167

Alt_F1               0x168

Alt_F2               0x169

Alt_F3               0x16a

Alt_F4               0x16b

Alt_F5               0x16c

Alt_F6               0x16d

Alt_F7               0x16e

Alt_F8               0x16f

Alt_F9               0x170

Alt_F10              0x171

Control_Print        0x172

Control_Left         0x173

Control_Right        0x174

Control_End          0x175

Control_PageDown     0x176

Control_Home         0x177

Alt_1                0x178

Alt_2                0x179

Alt_3                0x17a

Alt_4                0x17b

Alt_5                0x17c

Alt_6                0x17d

Alt_7                0x17e

Alt_8                0x17f

Alt_9                0x180

Alt_0                0x181

Alt_Dash             0x182

Alt_Equals           0x183

Control_PageUp       0x184

F11                  0x185

F12                  0x186

Shift_F11            0x187

Shift_F12            0x188

Control_F11          0x189

Control_F12          0x18a

Alt_F11              0x18b

Alt_F12              0x18c

Control_Up           0x18d

Control_KPDash       0x18e

Control_Center       0x18f

Control_KPPlus       0x190

Control_Down         0x191

Control_Insert       0x192

Control_Delete       0x193

Control_KPSlash      0x195

Control_KPStar       0x196

Alt_EHome            0x197

Alt_EUp              0x198

Alt_EPageUp          0x199

Alt_ELeft            0x19b

Alt_ERight           0x19d

Alt_EEnd             0x19f

Alt_EDown            0x1a0

Alt_EPageDown        0x1a1

Alt_EInsert          0x1a2

Alt_EDelete          0x1a3

Alt_KPSlash          0x1a4

Alt_Tab              0x1a5

Alt_Enter            0x1a6

EHome                0x247

EUp                  0x248

EPageUp              0x249

ELeft                0x24b

ERight               0x24d

EEnd                 0x24f

EDown                0x250

EPageDown            0x251

EInsert              0x252

EDelete              0x253

Control_ELeft        0x273

Control_ERight       0x274

Control_EEnd         0x275

Control_EPageDown    0x276

Control_EHome        0x277

Control_EPageUp      0x284

Control_EUp          0x28d

Control_EDown        0x291

Control_EInsert      0x292

Control_EDelete      0x293

                        PDCurses Keymaps



KEY_F0          0x108   /* function keys. space for      */

KEY_F(n)    (KEY_F0+(n))/* 64 keys are reserved.         */

ALT_0           0x197   /* Alt-0                         */

ALT_1           0x198   /* Alt-1                         */

ALT_2           0x199   /* Alt-2                         */

ALT_3           0x19a   /* Alt-3                         */

ALT_4           0x19b   /* Alt-4                         */

ALT_5           0x19c   /* Alt-5                         */

ALT_6           0x19d   /* Alt-6                         */

ALT_7           0x19e   /* Alt-7                         */

ALT_8           0x19f   /* Alt-8                         */

ALT_9           0x1a0   /* Alt-9                         */

ALT_A           0x1a1   /* Alt-A                         */

ALT_B           0x1a2   /* Alt-B                         */

ALT_C           0x1a3   /* Alt-C                         */

ALT_D           0x1a4   /* Alt-D                         */

ALT_E           0x1a5   /* Alt-E                         */

ALT_F           0x1a6   /* Alt-F                         */

ALT_G           0x1a7   /* Alt-G                         */

ALT_H           0x1a8   /* Alt-H                         */

ALT_I           0x1a9   /* Alt-I                         */

ALT_J           0x1aa   /* Alt-J                         */

ALT_K           0x1ab   /* Alt-K                         */

ALT_L           0x1ac   /* Alt-L                         */

ALT_M           0x1ad   /* Alt-M                         */

ALT_N           0x1ae   /* Alt-N                         */

ALT_O           0x1af   /* Alt-O                         */

ALT_P           0x1b0   /* Alt-P                         */

ALT_Q           0x1b1   /* Alt-Q                         */

ALT_R           0x1b2   /* Alt-R                         */

ALT_S           0x1b3   /* Alt-S                         */

ALT_T           0x1b4   /* Alt-T                         */

ALT_U           0x1b5   /* Alt-U                         */

ALT_V           0x1b6   /* Alt-V                         */

ALT_W           0x1b7   /* Alt-W                         */

ALT_X           0x1b8   /* Alt-X                         */

ALT_Y           0x1b9   /* Alt-Y                         */

ALT_Z           0x1ba   /* Alt-Z                         */

CTL_LEFT        0x1bb   /* Control-Left-Arrow            */

CTL_RIGHT       0x1bc   /* Control-Right-Arrow           */

CTL_PGUP        0x1bd   /* Control-PgUp                  */

CTL_PGDN        0x1be   /* Control-PgDn                  */

CTL_HOME        0x1bf   /* Control-Home                  */

CTL_END         0x1c0   /* Control-End                   */

KEY_A1          0x1c1   /* upper left on Virtual keypad  */

KEY_A2          0x1c2   /* upper middle on Virt. keypad  */

KEY_A3          0x1c3   /* upper right on Vir. keypad    */

KEY_B1          0x1c4   /* middle left on Virt. keypad   */

KEY_B2          0x1c5   /* center on Virt. keypad        */

KEY_B3          0x1c6   /* middle right on Vir. keypad   */

KEY_C1          0x1c7   /* lower left on Virt. keypad    */

KEY_C2          0x1c8   /* lower middle on Virt. keypad  */

KEY_C3          0x1c9   /* lower right on Vir. keypad    */

PADSLASH        0x1ca   /* slash on keypad               */

PADENTER        0x1cb   /* enter on keypad               */

CTL_PADENTER    0x1cc   /* ctl-enter on keypad           */

ALT_PADENTER    0x1cd   /* alt-enter on keypad           */

PADSTOP         0x1ce   /* stop on keypad                */

PADSTAR         0x1cf   /* star on keypad                */

PADMINUS        0x1d0   /* minus on keypad               */

PADPLUS         0x1d1   /* plus on keypad                */

CTL_PADSTOP     0x1d2   /* ctl-stop on keypad            */

CTL_PADCENTER   0x1d3   /* ctl-enter on keypad           */

CTL_PADPLUS     0x1d4   /* ctl-plus on keypad            */

CTL_PADMINUS    0x1d5   /* ctl-minus on keypad           */

CTL_PADSLASH    0x1d6   /* ctl-slash on keypad           */

CTL_PADSTAR     0x1d7   /* ctl-star on keypad            */

ALT_PADPLUS     0x1d8   /* alt-plus on keypad            */

ALT_PADMINUS    0x1d9   /* alt-minus on keypad           */

ALT_PADSLASH    0x1da   /* alt-slash on keypad           */

ALT_PADSTAR     0x1db   /* alt-star on keypad            */

ALT_PADSTOP     0x1dc   /* alt-star on keypad            */

CTL_INS         0x1dd   /* ctl-insert                    */

ALT_DEL         0x1de   /* alt-delete                    */

ALT_INS         0x1df   /* alt-insert                    */

CTL_UP          0x1e0   /* ctl-up arrow                  */

CTL_DOWN        0x1e1   /* ctl-down arrow                */

CTL_TAB         0x1e2   /* ctl-tab                       */

ALT_TAB         0x1e3   /* alt-tab                       */

ALT_MINUS       0x1e4   /* alt-minus                     */

ALT_EQUAL       0x1e5   /* alt-equal                     */

ALT_HOME        0x1e6   /* alt-home                      */

ALT_PGUP        0x1e7   /* alt-pgup                      */

ALT_PGDN        0x1e8   /* alt-pgdn                      */

ALT_END         0x1e9   /* alt-end                       */

ALT_UP          0x1ea   /* alt-up arrow                  */

ALT_DOWN        0x1eb   /* alt-down arrow                */

ALT_RIGHT       0x1ec   /* alt-right arrow               */

ALT_LEFT        0x1ed   /* alt-left arrow                */

ALT_ENTER       0x1ee   /* alt-enter                     */

ALT_ESC         0x1ef   /* alt-escape                    */

ALT_BQUOTE      0x1f0   /* alt-back quote                */

ALT_LBRACKET    0x1f1   /* alt-left bracket              */

ALT_RBRACKET    0x1f2   /* alt-right bracket             */

ALT_SEMICOLON   0x1f3   /* alt-semi-colon                */

ALT_FQUOTE      0x1f4   /* alt-forward quote             */

ALT_COMMA       0x1f5   /* alt-comma                     */

ALT_STOP        0x1f6   /* alt-stop                      */

ALT_FSLASH      0x1f7   /* alt-forward slash             */

ALT_BKSP        0x1f8   /* alt-backspace                 */

CTL_BKSP        0x1f9   /* ctl-backspace                 */

PAD0            0x1fa   /* ctl-keypad 0                  */

CTL_PAD0        0x1fb   /* ctl-keypad 0                  */

CTL_PAD1        0x1fc   /* ctl-keypad 1                  */

CTL_PAD2        0x1fd   /* ctl-keypad 2                  */

CTL_PAD3        0x1fe   /* ctl-keypad 3                  */

CTL_PAD4        0x1ff   /* ctl-keypad 4                  */

CTL_PAD5        0x200   /* ctl-keypad 5                  */

CTL_PAD6        0x201   /* ctl-keypad 6                  */

CTL_PAD7        0x202   /* ctl-keypad 7                  */

CTL_PAD8        0x203   /* ctl-keypad 8                  */

CTL_PAD9        0x204   /* ctl-keypad 9                  */

ALT_PAD0        0x205   /* ctl-keypad 0                  */

ALT_PAD1        0x206   /* ctl-keypad 1                  */

ALT_PAD2        0x207   /* ctl-keypad 2                  */

ALT_PAD3        0x208   /* ctl-keypad 3                  */

ALT_PAD4        0x209   /* ctl-keypad 4                  */

ALT_PAD5        0x20a   /* ctl-keypad 5                  */

ALT_PAD6        0x20b   /* ctl-keypad 6                  */

ALT_PAD7        0x20c   /* ctl-keypad 7                  */

ALT_PAD8        0x20d   /* ctl-keypad 8                  */

ALT_PAD9        0x20e   /* ctl-keypad 9                  */

CTL_DEL         0x20f   /* clt-delete                    */

ALT_BSLASH      0x210   /* alt-back slash                */

CTL_ENTER       0x211   /* ctl-enter                     */

                   S-Lang Keymaps for DOS



UP              0x101

DOWN            0x102

LEFT            0x103

RIGHT           0x104

PPAGE           0x105

NPAGE           0x106

HOME            0x107

END             0x108

A1              0x109

A3              0x10A

B2              0x10B

C1              0x10C

C3              0x10D

BACKSPACE       0x110

ENTER           0x111

IC              0x112

DELETE          0x113



F0              0x200

F(X)            (SL_KEY_F0 + X)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]