mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
92 lines
2.1 KiB
C
92 lines
2.1 KiB
C
|
#ifndef __KEY_H
|
||
|
#define __KEY_H
|
||
|
|
||
|
void init_key (void);
|
||
|
void init_key_input_fd (void);
|
||
|
void done_key (void);
|
||
|
int get_event (Gpm_Event *event, int redo_event, int block);
|
||
|
int is_idle (void);
|
||
|
int ctrl_pressed ();
|
||
|
|
||
|
#ifndef PORT_HAS_GETCH
|
||
|
int mi_getch (void);
|
||
|
#endif
|
||
|
/* Possible return values from get_event: */
|
||
|
#define EV_MOUSE -2
|
||
|
#define EV_NONE -1
|
||
|
|
||
|
/* Used to get the modifier information */
|
||
|
/* Currently, it just works on the Linux console */
|
||
|
#ifdef _OS_NT
|
||
|
# ifndef SHIFT_PRESSED
|
||
|
# define SHIFT_PRESSED 0x0010
|
||
|
# endif
|
||
|
#else
|
||
|
# define SHIFT_PRESSED 1
|
||
|
#endif
|
||
|
#define ALTR_PRESSED 2
|
||
|
#define CONTROL_PRESSED 4
|
||
|
#define ALTL_PRESSED 8
|
||
|
int get_modifier ();
|
||
|
|
||
|
extern int double_click_speed;
|
||
|
extern int old_esc_mode;
|
||
|
extern int irix_fn_keys;
|
||
|
extern int use_8th_bit_as_meta;
|
||
|
|
||
|
/* While waiting for input, the program can select on more than one file */
|
||
|
|
||
|
typedef int (*select_fn)(int fd, void *info);
|
||
|
|
||
|
/* Channel manipulation */
|
||
|
void add_select_channel (int fd, select_fn callback, void *info);
|
||
|
void delete_select_channel (int fd);
|
||
|
void remove_select_channel (int fd);
|
||
|
|
||
|
/* Activate/deactivate the channel checking */
|
||
|
void channels_up (void);
|
||
|
void channels_down (void);
|
||
|
|
||
|
/* Abort/Quit chars */
|
||
|
int is_abort_char (int c);
|
||
|
int is_quit_char (int c);
|
||
|
|
||
|
#define XCTRL(x) ((x) & 31)
|
||
|
#define ALT(x) (0x200 | (unsigned int)(x))
|
||
|
|
||
|
/* To define sequences and return codes */
|
||
|
#define MCKEY_NOACTION 0
|
||
|
#define MCKEY_ESCAPE 1
|
||
|
|
||
|
/* Return code for the mouse sequence */
|
||
|
#define MCKEY_MOUSE -2
|
||
|
|
||
|
void do_define_key (int code, char *strcap);
|
||
|
void define_sequence (int code, char *seq, int action);
|
||
|
|
||
|
/* internally used in key.c, defined in keyxtra.c */
|
||
|
void load_xtra_key_defines (void);
|
||
|
|
||
|
/* Learn a single key */
|
||
|
char *learn_key (void);
|
||
|
|
||
|
/* Returns a key code (interpreted) */
|
||
|
int get_key_code (int nodelay);
|
||
|
|
||
|
typedef struct {
|
||
|
int code;
|
||
|
char *name;
|
||
|
char *longname;
|
||
|
} key_code_name_t;
|
||
|
|
||
|
extern key_code_name_t key_name_conv_tab [];
|
||
|
extern int we_are_background;
|
||
|
|
||
|
/* Set keypad mode (xterm and linux console only) */
|
||
|
#ifndef HAVE_X
|
||
|
void numeric_keypad_mode (void);
|
||
|
void application_keypad_mode (void);
|
||
|
#endif
|
||
|
|
||
|
#endif /* __KEY_H */
|