www.delorie.com/djgpp/doc/libc/libc_375.html | search |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
#include <pc.h> const unsigned char * __get_extended_key_string(int xkey_code); |
Returns an ECMA-48 compliant representation of an extended key's scan code in xkey_code.
See section getkey. See section getxkey.
A string based on the extended key's scan code xkey_code:
Key | Normal | with Shift | with Ctrl | with Alt |
Up Arrow | ESC[A | ESC[37~ | ESC[59~
| |
Down Arrow | ESC[B | ESC[38~ | ESC[60~
| |
Left Arrow | ESC[C | ESC[39~ | ESC[61~
| |
Right Arrow | ESC[D | ESC[40~ | ESC[62~
| |
Home | ESC[1~ | ESC[41~ | ESC[63~
| |
Insert | ESC[2~ | ESC[42~ | ESC[64~
| |
Delete | ESC[3~ | ESC[43~ | ESC[65~
| |
End | ESC[4~ | ESC[44~ | ESC[66~
| |
Page Up | ESC[5~ | ESC[45~ | ESC[67~
| |
Page Down | ESC[6~ | ESC[46~ | ESC[68~
| |
F1 | ESC[[A | ESC[25~ | ESC[47~ | ESC[69~
|
F2 | ESC[[B | ESC[26~ | ESC[48~ | ESC[70~
|
F3 | ESC[[C | ESC[27~ | ESC[49~ | ESC[71~
|
F4 | ESC[[D | ESC[28~ | ESC[50~ | ESC[72~
|
F5 | ESC[[E | ESC[29~ | ESC[51~ | ESC[73~
|
F6 | ESC[17~ | ESC[30~ | ESC[52~ | ESC[74~
|
F7 | ESC[18~ | ESC[31~ | ESC[53~ | ESC[75~
|
F8 | ESC[19~ | ESC[32~ | ESC[54~ | ESC[76~
|
F9 | ESC[20~ | ESC[33~ | ESC[55~ | ESC[77~
|
F10 | ESC[21~ | ESC[34~ | ESC[56~ | ESC[78~
|
F11 | ESC[23~ | ESC[35~ | ESC[57~ | ESC[79~
|
F12 | ESC[24~ | ESC[36~ | ESC[58~ | ESC[80~
|
Alt Key | Alt Key | ||
Alt-A | ESC[81~ |
Alt-N | ESC[94~
|
Alt-B | ESC[82~ |
Alt-O | ESC[95~
|
Alt-C | ESC[83~ |
Alt-P | ESC[96~
|
Alt-D | ESC[84~ |
Alt-Q | ESC[97~
|
Alt-E | ESC[85~ |
Alt-R | ESC[98~
|
Alt-F | ESC[86~ |
Alt-S | ESC[99~
|
Alt-G | ESC[87~ |
Alt-T | ESC[100~
|
Alt-H | ESC[88~ |
Alt-U | ESC[101~
|
Alt-I | ESC[89~ |
Alt-V | ESC[102~
|
Alt-J | ESC[90~ |
Alt-W | ESC[103~
|
Alt-K | ESC[91~ |
Alt-X | ESC[104~
|
Alt-L | ESC[92~ |
Alt-Y | ESC[105~
|
Alt-M | ESC[93~ |
Alt-Z | ESC[106~
|
NULL
is returned if xkey_code has no translation.
ANSI/ISO C | No |
POSIX | No |
#include <pc.h> #include <stdio.h> int key; int main() { key = getxkey(); if (key < 0x100) { putc(key, stdout); putc('\r', stdout); } else { const unsigned char *str = __get_extended_key_string(key); if (str) puts(str); else puts("<unknown>"); } fflush(stdout); } |
#include <pc.h> #include <stdio.h> #include <dpmi.h> int main() { __dpmi_regs r; const unsigned char *str; int is_extended_key; /* Wait for keypress. */ r.h.ah = 0x11; __dpmi_int(0x16, &r); /* Print the encoding for function keys (F1, F2, etc.) and other extended keys (Home, End, etc.). */ is_extended_key = (r.h.al == 0x00 || r.h.al == 0xe0); if (is_extended_key) { str = __get_extended_key_string((int)r.h.ah) printf("Key encoding: %s", str); } } |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
webmaster | delorie software privacy |
Copyright © 2004 | Updated Apr 2004 |