csi: add DECSET 737769 - enables/disables IME input

73 77 69 = I M E
This commit is contained in:
Daniel Eklöf 2020-12-04 21:26:38 +01:00
parent e3b5a98ade
commit 0536bc41f4
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 10 additions and 0 deletions

9
csi.c
View file

@ -540,6 +540,13 @@ decset_decrst(struct terminal *term, unsigned param, bool enable)
term->modify_escape_key = enable;
break;
case 737769:
if (enable)
term_ime_enable(term);
else
term_ime_disable(term);
break;
default:
UNHANDLED();
break;
@ -588,6 +595,7 @@ xtsave(struct terminal *term, unsigned param)
case 1049: term->xtsave.alt_screen = term->grid == &term->alt; break;
case 2004: term->xtsave.bracketed_paste = term->bracketed_paste; break;
case 27127: term->xtsave.modify_escape_key = term->modify_escape_key; break;
case 737769: term->xtsave.ime = term_ime_is_enabled(term); break;
}
}
@ -622,6 +630,7 @@ xtrestore(struct terminal *term, unsigned param)
case 1049: enable = term->xtsave.alt_screen; break;
case 2004: enable = term->xtsave.bracketed_paste; break;
case 27127: enable = term->xtsave.modify_escape_key; break;
case 737769: enable = term->xtsave.ime; break;
default: return;
}

View file

@ -298,6 +298,7 @@ struct terminal {
uint32_t bell_is_urgent:1;
uint32_t alt_screen:1;
uint32_t modify_escape_key:1;
uint32_t ime:1;
} xtsave;
char *window_title;