2015-07-27 04:17:12 -04:00
|
|
|
#ifndef ROFI_KEYB_H
|
|
|
|
#define ROFI_KEYB_H
|
2015-04-30 15:47:32 -04:00
|
|
|
|
2016-01-07 02:54:24 -05:00
|
|
|
/**
|
|
|
|
* @defgroup KEYB KeyboardBindings
|
|
|
|
*
|
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
|
2015-04-30 15:47:32 -04:00
|
|
|
typedef enum _KeyBindingAction
|
|
|
|
{
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Paste from primary clipboard */
|
2015-04-30 15:47:32 -04:00
|
|
|
PASTE_PRIMARY = 0,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Paste from secondary clipboard */
|
2015-04-30 15:47:32 -04:00
|
|
|
PASTE_SECONDARY,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Clear the entry box. */
|
2015-04-30 15:47:32 -04:00
|
|
|
CLEAR_LINE,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Move to front of text */
|
2015-04-30 15:47:32 -04:00
|
|
|
MOVE_FRONT,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Move to end of text */
|
2015-04-30 15:47:32 -04:00
|
|
|
MOVE_END,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Move on word back */
|
2015-04-30 16:46:51 -04:00
|
|
|
MOVE_WORD_BACK,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Move on word forward */
|
2015-04-30 16:46:51 -04:00
|
|
|
MOVE_WORD_FORWARD,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Move character back */
|
2015-05-02 05:53:27 -04:00
|
|
|
MOVE_CHAR_BACK,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Move character forward */
|
2015-05-02 05:53:27 -04:00
|
|
|
MOVE_CHAR_FORWARD,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Remove previous word */
|
2015-04-30 15:47:32 -04:00
|
|
|
REMOVE_WORD_BACK,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Remove next work */
|
2015-04-30 15:47:32 -04:00
|
|
|
REMOVE_WORD_FORWARD,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Remove next character */
|
2015-04-30 15:47:32 -04:00
|
|
|
REMOVE_CHAR_FORWARD,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Remove previous character */
|
2015-04-30 16:42:04 -04:00
|
|
|
REMOVE_CHAR_BACK,
|
2016-01-07 10:01:56 -05:00
|
|
|
/** Accept the current selected entry */
|
2015-05-01 02:16:52 -04:00
|
|
|
ACCEPT_ENTRY,
|
|
|
|
ACCEPT_CUSTOM,
|
|
|
|
ACCEPT_ENTRY_CONTINUE,
|
2015-05-02 05:53:27 -04:00
|
|
|
MODE_NEXT,
|
|
|
|
MODE_PREVIOUS,
|
|
|
|
TOGGLE_CASE_SENSITIVITY,
|
|
|
|
DELETE_ENTRY,
|
2015-09-02 06:29:28 -04:00
|
|
|
ROW_LEFT,
|
|
|
|
ROW_RIGHT,
|
|
|
|
ROW_UP,
|
|
|
|
ROW_DOWN,
|
|
|
|
ROW_TAB,
|
|
|
|
PAGE_PREV,
|
|
|
|
PAGE_NEXT,
|
|
|
|
ROW_FIRST,
|
|
|
|
ROW_LAST,
|
|
|
|
ROW_SELECT,
|
|
|
|
CANCEL,
|
2015-05-05 13:30:43 -04:00
|
|
|
CUSTOM_1,
|
|
|
|
CUSTOM_2,
|
|
|
|
CUSTOM_3,
|
|
|
|
CUSTOM_4,
|
|
|
|
CUSTOM_5,
|
|
|
|
CUSTOM_6,
|
|
|
|
CUSTOM_7,
|
|
|
|
CUSTOM_8,
|
|
|
|
CUSTOM_9,
|
2015-09-02 04:05:02 -04:00
|
|
|
CUSTOM_10,
|
|
|
|
CUSTOM_11,
|
|
|
|
CUSTOM_12,
|
|
|
|
CUSTOM_13,
|
|
|
|
CUSTOM_14,
|
|
|
|
CUSTOM_15,
|
|
|
|
CUSTOM_16,
|
|
|
|
CUSTOM_17,
|
|
|
|
CUSTOM_18,
|
|
|
|
CUSTOM_19,
|
2015-12-09 02:29:18 -05:00
|
|
|
SCREENSHOT,
|
2015-12-13 05:50:59 -05:00
|
|
|
TOGGLE_SORT,
|
2015-04-30 15:47:32 -04:00
|
|
|
NUM_ABE
|
|
|
|
} KeyBindingAction;
|
|
|
|
|
2015-05-02 06:21:54 -04:00
|
|
|
/**
|
|
|
|
* Parse the keybindings.
|
|
|
|
* This should be called after the setting system is initialized.
|
|
|
|
*/
|
2015-04-30 16:42:04 -04:00
|
|
|
void parse_keys_abe ( void );
|
2015-05-02 06:21:54 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Setup the keybindings
|
|
|
|
* This adds all the entries to the settings system.
|
|
|
|
*/
|
2015-04-30 15:47:32 -04:00
|
|
|
void setup_abe ( void );
|
|
|
|
|
2015-05-02 06:21:54 -04:00
|
|
|
/**
|
|
|
|
* Cleanup.
|
|
|
|
*/
|
2015-04-30 16:42:04 -04:00
|
|
|
void cleanup_abe ( void );
|
|
|
|
|
2015-05-02 06:21:54 -04:00
|
|
|
/**
|
|
|
|
* Check if this key has been triggered.
|
|
|
|
* @returns TRUE if key combo matches, FALSE otherwise.
|
|
|
|
*/
|
2016-02-21 07:10:32 -05:00
|
|
|
int abe_test_action ( KeyBindingAction action, unsigned int mask, xkb_keysym_t key );
|
2016-01-07 02:54:24 -05:00
|
|
|
|
|
|
|
/*@}*/
|
2015-07-27 04:17:12 -04:00
|
|
|
#endif // ROFI_KEYB_H
|