diff options
author | 2000-02-27 16:10:19 +0000 | |
---|---|---|
committer | 2000-02-27 16:10:19 +0000 | |
commit | 6ab83a4e8439bd7718ba065b2389d10a48168ad4 (patch) | |
tree | 2bae7c903d945ba8d5b00695c21edd9494d1874f | |
parent | Remove a now-bogus comment (diff) | |
download | wireguard-openbsd-6ab83a4e8439bd7718ba065b2389d10a48168ad4.tar.xz wireguard-openbsd-6ab83a4e8439bd7718ba065b2389d10a48168ad4.zip |
Move dobindkey() into extend.c where it belongs.
-rw-r--r-- | usr.bin/mg/extend.c | 39 | ||||
-rw-r--r-- | usr.bin/mg/ttykbd.c | 54 |
2 files changed, 48 insertions, 45 deletions
diff --git a/usr.bin/mg/extend.c b/usr.bin/mg/extend.c index 54f832fb7f1..f9f0ba95061 100644 --- a/usr.bin/mg/extend.c +++ b/usr.bin/mg/extend.c @@ -372,6 +372,45 @@ int kcount; (VOID) doscan(curmap, c = *keys); return remap(curmap, c, funct, pref_map); } + +#ifdef FKEYS +/* + * Wrapper for bindkey() that converts escapes. + */ +int +dobindkey(map, func, str) + KEYMAP *map; + char *func; + char *str; +{ + int i; + + for (i = 0; *str && i < MAXKEY; i++) { + /* XXX - convert numbers w/ strol()? */ + if (*str != '\\') + key.k_chars[i] = *str; + else { + switch(*++str) { + case 't': case 'T': + key.k_chars[i] = '\t'; + break; + case 'n': case 'N': + key.k_chars[i] = '\n'; + break; + case 'r': case 'R': + key.k_chars[i] = '\r'; + break; + case 'e': case 'E': + key.k_chars[i] = CCHR('['); + break; + } + } + str++; + } + key.k_count = i; + return(bindkey(&map, func, key.k_chars, key.k_count)); +} +#endif #endif /* diff --git a/usr.bin/mg/ttykbd.c b/usr.bin/mg/ttykbd.c index 08c87f33573..52febf6df78 100644 --- a/usr.bin/mg/ttykbd.c +++ b/usr.bin/mg/ttykbd.c @@ -10,7 +10,6 @@ #include <term.h> #ifdef FKEYS -#include "key.h" /* * Get keyboard character. Very simple if you use keymaps and keys files. * Bob was right -- the old XKEYS code is not the right solution. @@ -19,40 +18,6 @@ */ char *keystrings[] = { NULL } ; - -int -dobindkey(str, func) - char *str; - char *func; -{ - int i; - extern int bindkey(); /* XXX */ - - for (i = 0; *str && i < MAXKEY; i++) { - /* XXX - how to convert numbers? */ - if (*str != '\\') - key.k_chars[i] = *str; - else { - switch(*++str) { - case 't': case 'T': - key.k_chars[i] = '\t'; - break; - case 'n': case 'N': - key.k_chars[i] = '\n'; - break; - case 'r': case 'R': - key.k_chars[i] = '\r'; - break; - case 'e': case 'E': - key.k_chars[i] = CCHR('['); - break; - } - } - str++; - } - key.k_count = i; - return(bindkey(&map_table[0].p_map, func, key.k_chars, key.k_count)); -} #endif /* @@ -64,27 +29,26 @@ extern int ttputc(); ttykeymapinit() { + extern int dobindkey(); /* XXX */ char *cp; #ifdef FKEYS /* Bind keypad function keys. */ if (key_left) - dobindkey(key_left, "backward-char"); - if (key_left) - dobindkey(key_left, "backward-char"); + dobindkey(map_table[0].p_map, "backward-char", key_left); if (key_right) - dobindkey(key_right, "forward-char"); + dobindkey(map_table[0].p_map, "forward-char", key_right); if (key_up) - dobindkey(key_up, "previous-line"); + dobindkey(map_table[0].p_map, "previous-line", key_up); if (key_down) - dobindkey(key_down, "next-line"); + dobindkey(map_table[0].p_map, "next-line", key_down); if (key_beg) - dobindkey(key_beg, "beginning-of-line"); + dobindkey(map_table[0].p_map, "beginning-of-line", key_beg); if (key_end) - dobindkey(key_end, "end-of-line"); + dobindkey(map_table[0].p_map, "end-of-line", key_end); if (key_npage) - dobindkey(key_npage, "scroll-up"); + dobindkey(map_table[0].p_map, "scroll-up", key_npage); if (key_ppage) - dobindkey(key_ppage, "scroll-down"); + dobindkey(map_table[0].p_map, "scroll-down", key_ppage); #endif #ifndef NO_STARTUP if (cp = gettermtype()) { |