From a0a8be1c0a08a78f677569b81fb763855c6a210a Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Tue, 18 Sep 2012 17:36:29 +0200 Subject: [PATCH] tsm: vte: introduce own modifiers We do not want to depend on uterm just for the modifiers so introduce new modifier-names which are in-sync with the UTERM names. Inside of kmscon we still use the UTERM names everywhere, but inside of TSM we now rely on the new names. Signed-off-by: David Herrmann --- src/tsm_vte.c | 39 +++++++++++++++++++-------------------- src/tsm_vte.h | 12 ++++++++++++ src/uterm.h | 1 + 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/src/tsm_vte.c b/src/tsm_vte.c index c951f5a..12d1a63 100644 --- a/src/tsm_vte.c +++ b/src/tsm_vte.c @@ -57,7 +57,6 @@ #include "tsm_screen.h" #include "tsm_unicode.h" #include "tsm_vte.h" -#include "uterm.h" #define LOG_SUBSYSTEM "vte" @@ -2162,10 +2161,10 @@ bool tsm_vte_handle_keyboard(struct tsm_vte *vte, uint32_t keysym, * Also check whether altSendsEscape should be the default (xterm * disables this by default, why?) and whether we should implement the * fallback shifting that xterm does. */ - if (mods & UTERM_MOD1_MASK) + if (mods & TSM_MOD1_MASK) vte->flags |= FLAG_PREPEND_ESCAPE; - if (mods & UTERM_CONTROL_MASK) { + if (mods & TSM_CONTROL_MASK) { switch (keysym) { case XKB_KEY_2: case XKB_KEY_space: @@ -2524,103 +2523,103 @@ bool tsm_vte_handle_keyboard(struct tsm_vte *vte, uint32_t keysym, return true; case XKB_KEY_F4: case XKB_KEY_KP_F4: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[1;2S", 6); else vte_write(vte, "\eOS", 3); return true; case XKB_KEY_F5: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[15;2~", 7); else vte_write(vte, "\e[15~", 5); return true; case XKB_KEY_F6: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[17;2~", 7); else vte_write(vte, "\e[17~", 5); return true; case XKB_KEY_F7: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[18;2~", 7); else vte_write(vte, "\e[18~", 5); return true; case XKB_KEY_F8: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[19;2~", 7); else vte_write(vte, "\e[19~", 5); return true; case XKB_KEY_F9: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[20;2~", 7); else vte_write(vte, "\e[20~", 5); return true; case XKB_KEY_F10: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[21;2~", 7); else vte_write(vte, "\e[21~", 5); return true; case XKB_KEY_F11: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[23;2~", 7); else vte_write(vte, "\e[23~", 5); return true; case XKB_KEY_F12: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[24;2~", 7); else vte_write(vte, "\e[24~", 5); return true; case XKB_KEY_F13: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[25;2~", 7); else vte_write(vte, "\e[25~", 5); return true; case XKB_KEY_F14: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[26;2~", 7); else vte_write(vte, "\e[26~", 5); return true; case XKB_KEY_F15: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[28;2~", 7); else vte_write(vte, "\e[28~", 5); return true; case XKB_KEY_F16: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[29;2~", 7); else vte_write(vte, "\e[29~", 5); return true; case XKB_KEY_F17: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[31;2~", 7); else vte_write(vte, "\e[31~", 5); return true; case XKB_KEY_F18: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[32;2~", 7); else vte_write(vte, "\e[32~", 5); return true; case XKB_KEY_F19: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[33;2~", 7); else vte_write(vte, "\e[33~", 5); return true; case XKB_KEY_F20: - if (mods & UTERM_SHIFT_MASK) + if (mods & TSM_SHIFT_MASK) vte_write(vte, "\e[34;2~", 7); else vte_write(vte, "\e[34~", 5); diff --git a/src/tsm_vte.h b/src/tsm_vte.h index 0b7cd0e..8ca2b46 100644 --- a/src/tsm_vte.h +++ b/src/tsm_vte.h @@ -50,6 +50,18 @@ extern tsm_vte_charset tsm_vte_dec_special_graphics; struct tsm_vte; +/* keep in sync with uterm_input_modifier */ +enum tsm_vte_modifier { + TSM_SHIFT_MASK = (1 << 0), + TSM_LOCK_MASK = (1 << 1), + TSM_CONTROL_MASK = (1 << 2), + TSM_MOD1_MASK = (1 << 3), + TSM_MOD2_MASK = (1 << 4), + TSM_MOD3_MASK = (1 << 5), + TSM_MOD4_MASK = (1 << 6), + TSM_MOD5_MASK = (1 << 7), +}; + #define TSM_VTE_INVALID 0xffffffff typedef void (*tsm_vte_write_cb) (struct tsm_vte *vte, diff --git a/src/uterm.h b/src/uterm.h index 2940875..ba56786 100644 --- a/src/uterm.h +++ b/src/uterm.h @@ -256,6 +256,7 @@ void uterm_video_poll(struct uterm_video *video); struct uterm_input; +/* keep in sync with tsm_vte_modified */ enum uterm_input_modifier { UTERM_SHIFT_MASK = (1 << 0), UTERM_LOCK_MASK = (1 << 1),