@@ -2952,11 +2952,55 @@ bool tsm_vte_handle_keyboard(struct tsm_vte *vte, uint32_t keysym,
29522952 return true;
29532953 case XKB_KEY_Page_Up :
29542954 case XKB_KEY_KP_Page_Up :
2955- vte_write (vte , "\e[5~" , 4 );
2955+ /* Combination with ALT are handled as TSM_VTE_FLAG_PREPEND_ESCAPE flag */
2956+ /* if (mods & TSM_ALT_MASK)
2957+ {
2958+ if ((TSM_CONTROL_MASK | TSM_SHIFT_MASK) == (mods & (TSM_CONTROL_MASK | TSM_SHIFT_MASK))) {
2959+ vte_write(vte, "\e[5;8~", 6);
2960+ } else if (mods & TSM_CONTROL_MASK) {
2961+ vte_write(vte, "\e[5;7~", 6);
2962+ } else if (mods & TSM_SHIFT_MASK) {
2963+ vte_write(vte, "\e[5;4~", 6);
2964+ } else {
2965+ vte_write(vte, "\e[5;3~", 6);
2966+ }
2967+ return true;
2968+ } */
2969+ if ((TSM_CONTROL_MASK | TSM_SHIFT_MASK ) == (mods & (TSM_CONTROL_MASK | TSM_SHIFT_MASK ))) {
2970+ vte_write (vte , "\e[5;6~" , 6 );
2971+ } else if (mods & TSM_CONTROL_MASK ) {
2972+ vte_write (vte , "\e[5;5~" , 6 );
2973+ } else if (mods & TSM_SHIFT_MASK ) {
2974+ vte_write (vte , "\e[5;2~" , 6 );
2975+ } else {
2976+ vte_write (vte , "\e[5~" , 4 );
2977+ }
29562978 return true;
29572979 case XKB_KEY_KP_Page_Down :
29582980 case XKB_KEY_Page_Down :
2959- vte_write (vte , "\e[6~" , 4 );
2981+ /* Combination with ALT are handled as TSM_VTE_FLAG_PREPEND_ESCAPE flag */
2982+ /* if (mods & TSM_ALT_MASK)
2983+ {
2984+ if ((TSM_CONTROL_MASK | TSM_SHIFT_MASK) == (mods & (TSM_CONTROL_MASK | TSM_SHIFT_MASK))) {
2985+ vte_write(vte, "\e[6;8~", 6);
2986+ } else if (mods & TSM_CONTROL_MASK) {
2987+ vte_write(vte, "\e[6;7~", 6);
2988+ } else if (mods & TSM_SHIFT_MASK) {
2989+ vte_write(vte, "\e[6;4~", 6);
2990+ } else {
2991+ vte_write(vte, "\e[6;3~", 6);
2992+ }
2993+ return true;
2994+ } */
2995+ if ((TSM_CONTROL_MASK | TSM_SHIFT_MASK ) == (mods & (TSM_CONTROL_MASK | TSM_SHIFT_MASK ))) {
2996+ vte_write (vte , "\e[6;6~" , 6 );
2997+ } else if (mods & TSM_CONTROL_MASK ) {
2998+ vte_write (vte , "\e[6;5~" , 6 );
2999+ } else if (mods & TSM_SHIFT_MASK ) {
3000+ vte_write (vte , "\e[6;2~" , 6 );
3001+ } else {
3002+ vte_write (vte , "\e[6~" , 4 );
3003+ }
29603004 return true;
29613005 case XKB_KEY_Up :
29623006 case XKB_KEY_KP_Up :
0 commit comments