[BACK]Return to ttykbd.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mg

Annotation of src/usr.bin/mg/ttykbd.c, Revision 1.18

1.18    ! bcallah     1: /*     $OpenBSD: ttykbd.c,v 1.17 2015/03/17 18:08:52 bcallah Exp $     */
1.14      kjell       2:
                      3: /* This file is in the public domain. */
1.7       niklas      4:
1.1       deraadt     5: /*
                      6:  * Name:       MG 2a
1.2       millert     7:  *             Terminfo keyboard driver using key files
1.1       deraadt     8:  * Created:    22-Nov-1987 Mic Kaczmarczik (mic@emx.cc.utexas.edu)
                      9:  */
                     10:
1.18    ! bcallah    11: #include <sys/queue.h>
        !            12: #include <signal.h>
        !            13: #include <stdio.h>
        !            14: #include <stdlib.h>
        !            15: #include <term.h>
        !            16:
1.6       millert    17: #include "def.h"
                     18: #include "kbd.h"
1.1       deraadt    19:
                     20: /*
                     21:  * Get keyboard character.  Very simple if you use keymaps and keys files.
                     22:  */
                     23:
1.9       mickey     24: char   *keystrings[] = {NULL};
1.1       deraadt    25:
                     26: /*
1.2       millert    27:  * Turn on function keys using keypad_xmit, then load a keys file, if
                     28:  * available.  The keys file is located in the same manner as the startup
                     29:  * file is, depending on what startupfile() does on your system.
1.1       deraadt    30:  */
1.6       millert    31: void
1.11      cloder     32: ttykeymapinit(void)
1.1       deraadt    33: {
1.6       millert    34:        char    *cp;
                     35:
1.2       millert    36:        /* Bind keypad function keys. */
                     37:        if (key_left)
1.8       art        38:                dobindkey(fundamental_map, "backward-char", key_left);
1.2       millert    39:        if (key_right)
1.8       art        40:                dobindkey(fundamental_map, "forward-char", key_right);
1.2       millert    41:        if (key_up)
1.8       art        42:                dobindkey(fundamental_map, "previous-line", key_up);
1.2       millert    43:        if (key_down)
1.8       art        44:                dobindkey(fundamental_map, "next-line", key_down);
1.2       millert    45:        if (key_beg)
1.8       art        46:                dobindkey(fundamental_map, "beginning-of-line", key_beg);
1.4       millert    47:        else if (key_home)
1.8       art        48:                dobindkey(fundamental_map, "beginning-of-line", key_home);
1.2       millert    49:        if (key_end)
1.8       art        50:                dobindkey(fundamental_map, "end-of-line", key_end);
1.2       millert    51:        if (key_npage)
1.8       art        52:                dobindkey(fundamental_map, "scroll-up", key_npage);
1.2       millert    53:        if (key_ppage)
1.8       art        54:                dobindkey(fundamental_map, "scroll-down", key_ppage);
1.15      lum        55:        if (key_dc)
                     56:                dobindkey(fundamental_map, "delete-char", key_dc);
1.6       millert    57:
1.10      deraadt    58:        if ((cp = getenv("TERM"))) {
1.6       millert    59:                if (((cp = startupfile(cp)) != NULL) && (load(cp) != TRUE))
1.1       deraadt    60:                        ewprintf("Error reading key initialization file");
                     61:        }
1.6       millert    62:        if (keypad_xmit)
                     63:                /* turn on keypad */
1.2       millert    64:                putpad(keypad_xmit, 1);
1.1       deraadt    65: }
                     66:
                     67: /*
                     68:  * Clean up the keyboard -- called by tttidy()
                     69:  */
1.6       millert    70: void
1.11      cloder     71: ttykeymaptidy(void)
1.1       deraadt    72: {
1.2       millert    73:        if (keypad_local)
1.6       millert    74:                /* turn off keypad */
                     75:                putpad(keypad_local, 1);
1.12      deraadt    76: }
                     77: