1 #ifndef KEYS_H 2 #define KEYS_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 enum key_cmd 9 { 10 KEY_CMD_QUIT_CLIENT, 11 KEY_CMD_GO, 12 KEY_CMD_MENU_DOWN, 13 KEY_CMD_MENU_UP, 14 KEY_CMD_MENU_NPAGE, 15 KEY_CMD_MENU_PPAGE, 16 KEY_CMD_MENU_FIRST, 17 KEY_CMD_MENU_LAST, 18 KEY_CMD_QUIT, 19 KEY_CMD_STOP, 20 KEY_CMD_NEXT, 21 KEY_CMD_PREVIOUS, 22 KEY_CMD_PAUSE, 23 KEY_CMD_TOGGLE_READ_TAGS, 24 KEY_CMD_TOGGLE_REPEAT, 25 KEY_CMD_TOGGLE_AUTO_NEXT, 26 KEY_CMD_TOGGLE_MENU, 27 KEY_CMD_TOGGLE_LAYOUT, 28 KEY_CMD_TOGGLE_PERCENT, 29 KEY_CMD_PLIST_ADD_FILE, 30 KEY_CMD_PLIST_CLEAR, 31 KEY_CMD_PLIST_ADD_DIR, 32 KEY_CMD_PLIST_REMOVE_DEAD_ENTRIES, 33 KEY_CMD_MIXER_DEC_1, 34 KEY_CMD_MIXER_INC_1, 35 KEY_CMD_MIXER_DEC_5, 36 KEY_CMD_MIXER_INC_5, 37 KEY_CMD_SEEK_FORWARD, 38 KEY_CMD_SEEK_BACKWARD, 39 KEY_CMD_SEEK_FORWARD_5, 40 KEY_CMD_SEEK_BACKWARD_5, 41 KEY_CMD_HELP, 42 KEY_CMD_HIDE_MESSAGE, 43 KEY_CMD_REFRESH, 44 KEY_CMD_RELOAD, 45 KEY_CMD_TOGGLE_SHOW_HIDDEN_FILES, 46 KEY_CMD_GO_MUSIC_DIR, 47 KEY_CMD_PLIST_DEL, 48 KEY_CMD_MENU_SEARCH, 49 KEY_CMD_PLIST_SAVE, 50 KEY_CMD_TOGGLE_SHOW_FORMAT, 51 KEY_CMD_TOGGLE_SHOW_TIME, 52 KEY_CMD_GO_TO_PLAYING_FILE, 53 KEY_CMD_GO_DIR, 54 KEY_CMD_GO_DIR_UP, 55 KEY_CMD_TOGGLE_SHUFFLE, 56 KEY_CMD_NEXT_SEARCH, 57 KEY_CMD_CANCEL, 58 KEY_CMD_GO_URL, 59 KEY_CMD_VOLUME_10, 60 KEY_CMD_VOLUME_20, 61 KEY_CMD_VOLUME_30, 62 KEY_CMD_VOLUME_40, 63 KEY_CMD_VOLUME_50, 64 KEY_CMD_VOLUME_60, 65 KEY_CMD_VOLUME_70, 66 KEY_CMD_VOLUME_80, 67 KEY_CMD_VOLUME_90, 68 KEY_CMD_MARK_START, 69 KEY_CMD_MARK_END, 70 KEY_CMD_FAST_DIR_1, 71 KEY_CMD_FAST_DIR_2, 72 KEY_CMD_FAST_DIR_3, 73 KEY_CMD_FAST_DIR_4, 74 KEY_CMD_FAST_DIR_5, 75 KEY_CMD_FAST_DIR_6, 76 KEY_CMD_FAST_DIR_7, 77 KEY_CMD_FAST_DIR_8, 78 KEY_CMD_FAST_DIR_9, 79 KEY_CMD_FAST_DIR_10, 80 KEY_CMD_TOGGLE_MIXER, 81 KEY_CMD_HISTORY_UP, 82 KEY_CMD_HISTORY_DOWN, 83 KEY_CMD_DELETE_START, 84 KEY_CMD_DELETE_END, 85 KEY_CMD_PLIST_MOVE_UP, 86 KEY_CMD_PLIST_MOVE_DOWN, 87 KEY_CMD_ADD_STREAM, 88 KEY_CMD_THEME_MENU, 89 KEY_CMD_EXEC1, 90 KEY_CMD_EXEC2, 91 KEY_CMD_EXEC3, 92 KEY_CMD_EXEC4, 93 KEY_CMD_EXEC5, 94 KEY_CMD_EXEC6, 95 KEY_CMD_EXEC7, 96 KEY_CMD_EXEC8, 97 KEY_CMD_EXEC9, 98 KEY_CMD_EXEC10, 99 KEY_CMD_TOGGLE_PLAYLIST_FULL_PATHS, 100 KEY_CMD_TOGGLE_SOFTMIXER, 101 KEY_CMD_TOGGLE_EQUALIZER, 102 KEY_CMD_EQUALIZER_REFRESH, 103 KEY_CMD_EQUALIZER_PREV, 104 KEY_CMD_EQUALIZER_NEXT, 105 KEY_CMD_TOGGLE_MAKE_MONO, 106 KEY_CMD_LYRICS, 107 KEY_CMD_QUEUE_TOGGLE_FILE, 108 KEY_CMD_QUEUE_CLEAR, 109 KEY_CMD_WRONG 110 }; 111 112 /* Key context is the place where the user presses a key. A key can have 113 * different meanings in different places. */ 114 enum key_context 115 { 116 CON_MENU, 117 CON_ENTRY_SEARCH, 118 CON_ENTRY 119 }; 120 121 #ifndef KEY_ESCAPE 122 # define KEY_ESCAPE 27 123 #endif 124 125 #define META_KEY_FLAG 0x80 126 #define CTRL_KEY_CODE 0x1F 127 128 struct iface_key; 129 enum key_cmd get_key_cmd (const enum key_context context, const struct iface_key *key); 130 void keys_init (); 131 void keys_cleanup (); 132 char **get_keys_help (int *num); 133 bool is_help_still_h (); 134 135 #ifdef __cplusplus 136 } 137 #endif 138 139 #endif 140