annotate osdep/getch2.h @ 35965:7038dec225b1

Fix KEY_BACKSPACE, KEY_DELETE and KEY_ESC to map to their ASCII equivalents. Also avoids some issues with our X11 key string lookup ending up translating these to their ASCII values, which before resulted in "unknown key" messages.
author reimar
date Mon, 25 Mar 2013 22:54:54 +0000
parents 44837471a711
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28744
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
1 /*
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
2 * GyS-TermIO v2.0 (for GySmail v3)
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
3 * a very small replacement of ncurses library
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
4 *
28767
8134ffd057d7 Add back mistakenly removed copyright notice.
diego
parents: 28744
diff changeset
5 * copyright (C) 1999 A'rpi/ESP-team
8134ffd057d7 Add back mistakenly removed copyright notice.
diego
parents: 28744
diff changeset
6 *
28744
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
7 * This file is part of MPlayer.
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
8 *
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
9 * MPlayer is free software; you can redistribute it and/or modify
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
10 * it under the terms of the GNU General Public License as published by
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
12 * (at your option) any later version.
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
13 *
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
14 * MPlayer is distributed in the hope that it will be useful,
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
17 * GNU General Public License for more details.
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
18 *
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
19 * You should have received a copy of the GNU General Public License along
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
20 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
5cfef41a1771 Add standard license headers to files.
diego
parents: 28051
diff changeset
22 */
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 26016
diff changeset
24 #ifndef MPLAYER_GETCH2_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 26016
diff changeset
25 #define MPLAYER_GETCH2_H
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 24129
diff changeset
26
30668
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
27 #include "config.h"
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
28
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29 /* Screen size. Initialized by load_termcap() and get_screen_size() */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 extern int screen_width;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31 extern int screen_height;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32
17240
11459d1ff17c Use termcap "erase to end of line" character code instead of using spaces
ods15
parents: 9380
diff changeset
33 /* Termcap code to erase to end of line */
11459d1ff17c Use termcap "erase to end of line" character code instead of using spaces
ods15
parents: 9380
diff changeset
34 extern char * erase_to_end_of_line;
11459d1ff17c Use termcap "erase to end of line" character code instead of using spaces
ods15
parents: 9380
diff changeset
35
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 /* Get screen-size using IOCTL call. */
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26029
diff changeset
37 void get_screen_size(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39 /* Load key definitions from the TERMCAP database. 'termtype' can be NULL */
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26029
diff changeset
40 int load_termcap(char *termtype);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42 /* Enable and disable STDIN line-buffering */
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26029
diff changeset
43 void getch2_enable(void);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26029
diff changeset
44 void getch2_disable(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46 /* Read a character or a special key code (see keycodes.h) */
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26029
diff changeset
47 void getch2(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48
30668
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
49 #ifdef CONFIG_ICONV
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
50 /**
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
51 * \brief gets the name of the system's terminal character set
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
52 * \return a malloced string indicating the system charset
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
53 *
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
54 * Be warned that this function on many systems is in no way thread-safe
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
55 * since it modifies global data
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
56 */
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
57 char *get_term_charset(void);
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
58 #endif
46e7233f1faa Properly declare get_term_charset() instead of forward declaring it.
diego
parents: 28767
diff changeset
59
30669
44837471a711 Conditionally declare mp_input_slave_cmd_func().
diego
parents: 30668
diff changeset
60 #if defined(__MINGW32__) || defined(__OS2__)
26016
528bdf17dd8a OS/2 getch2() support
diego
parents: 26015
diff changeset
61 /* slave cmd function for Windows and OS/2 */
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26029
diff changeset
62 int mp_input_slave_cmd_func(int fd,char* dest,int size);
26016
528bdf17dd8a OS/2 getch2() support
diego
parents: 26015
diff changeset
63 #define USE_SELECT 0
528bdf17dd8a OS/2 getch2() support
diego
parents: 26015
diff changeset
64 #define MP_INPUT_SLAVE_CMD_FUNC mp_input_slave_cmd_func
528bdf17dd8a OS/2 getch2() support
diego
parents: 26015
diff changeset
65 #else
528bdf17dd8a OS/2 getch2() support
diego
parents: 26015
diff changeset
66 #define USE_SELECT 1
528bdf17dd8a OS/2 getch2() support
diego
parents: 26015
diff changeset
67 #define MP_INPUT_SLAVE_CMD_FUNC NULL
528bdf17dd8a OS/2 getch2() support
diego
parents: 26015
diff changeset
68 #endif
528bdf17dd8a OS/2 getch2() support
diego
parents: 26015
diff changeset
69
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 26016
diff changeset
70 #endif /* MPLAYER_GETCH2_H */