ui/vc: change the argument for QemuTextConsole

Those functions are specifc to text/vc console, make that explicit from
the argument type.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230830093843.3531473-45-marcandre.lureau@redhat.com>
This commit is contained in:
Marc-André Lureau 2023-08-30 13:38:18 +04:00
parent 32aa1f8dee
commit 9db018ac56
5 changed files with 16 additions and 18 deletions

View File

@ -112,9 +112,9 @@ bool qemu_mouse_set(int index, Error **errp);
#define QEMU_KEY_CTRL_PAGEUP 0xe406 #define QEMU_KEY_CTRL_PAGEUP 0xe406
#define QEMU_KEY_CTRL_PAGEDOWN 0xe407 #define QEMU_KEY_CTRL_PAGEDOWN 0xe407
void kbd_put_keysym_console(QemuConsole *s, int keysym); void kbd_put_keysym_console(QemuTextConsole *s, int keysym);
bool kbd_put_qcode_console(QemuConsole *s, int qcode, bool ctrl); bool kbd_put_qcode_console(QemuTextConsole *s, int qcode, bool ctrl);
void kbd_put_string_console(QemuConsole *s, const char *str, int len); void kbd_put_string_console(QemuTextConsole *s, const char *str, int len);
void kbd_put_keysym(int keysym); void kbd_put_keysym(int keysym);
/* Touch devices */ /* Touch devices */

View File

@ -1135,16 +1135,12 @@ static void kbd_send_chars(QemuTextConsole *s)
} }
/* called when an ascii key is pressed */ /* called when an ascii key is pressed */
void kbd_put_keysym_console(QemuConsole *con, int keysym) void kbd_put_keysym_console(QemuTextConsole *s, int keysym)
{ {
QemuTextConsole *s = (QemuTextConsole *)object_dynamic_cast(OBJECT(con), TYPE_QEMU_TEXT_CONSOLE);
uint8_t buf[16], *q; uint8_t buf[16], *q;
int c; int c;
uint32_t num_free; uint32_t num_free;
if (!s)
return;
switch(keysym) { switch(keysym) {
case QEMU_KEY_CTRL_UP: case QEMU_KEY_CTRL_UP:
console_scroll(s, -1); console_scroll(s, -1);
@ -1214,7 +1210,7 @@ static const int ctrl_qcode_to_keysym[Q_KEY_CODE__MAX] = {
[Q_KEY_CODE_PGDN] = QEMU_KEY_CTRL_PAGEDOWN, [Q_KEY_CODE_PGDN] = QEMU_KEY_CTRL_PAGEDOWN,
}; };
bool kbd_put_qcode_console(QemuConsole *s, int qcode, bool ctrl) bool kbd_put_qcode_console(QemuTextConsole *s, int qcode, bool ctrl)
{ {
int keysym; int keysym;
@ -1226,7 +1222,7 @@ bool kbd_put_qcode_console(QemuConsole *s, int qcode, bool ctrl)
return true; return true;
} }
void kbd_put_string_console(QemuConsole *s, const char *str, int len) void kbd_put_string_console(QemuTextConsole *s, const char *str, int len)
{ {
int i; int i;
@ -1237,7 +1233,9 @@ void kbd_put_string_console(QemuConsole *s, const char *str, int len)
void kbd_put_keysym(int keysym) void kbd_put_keysym(int keysym)
{ {
kbd_put_keysym_console(active_console, keysym); if (QEMU_IS_TEXT_CONSOLE(active_console)) {
kbd_put_keysym_console(QEMU_TEXT_CONSOLE(active_console), keysym);
}
} }
static void text_console_invalidate(void *opaque) static void text_console_invalidate(void *opaque)

View File

@ -1187,7 +1187,7 @@ static gboolean gd_text_key_down(GtkWidget *widget,
GdkEventKey *key, void *opaque) GdkEventKey *key, void *opaque)
{ {
VirtualConsole *vc = opaque; VirtualConsole *vc = opaque;
QemuConsole *con = vc->gfx.dcl.con; QemuTextConsole *con = QEMU_TEXT_CONSOLE(vc->gfx.dcl.con);
if (key->keyval == GDK_KEY_Delete) { if (key->keyval == GDK_KEY_Delete) {
kbd_put_qcode_console(con, Q_KEY_CODE_DELETE, false); kbd_put_qcode_console(con, Q_KEY_CODE_DELETE, false);

View File

@ -43,15 +43,16 @@ void sdl2_process_key(struct sdl2_console *scon,
ev->type == SDL_KEYDOWN ? "down" : "up"); ev->type == SDL_KEYDOWN ? "down" : "up");
qkbd_state_key_event(scon->kbd, qcode, ev->type == SDL_KEYDOWN); qkbd_state_key_event(scon->kbd, qcode, ev->type == SDL_KEYDOWN);
if (!qemu_console_is_graphic(con)) { if (QEMU_IS_TEXT_CONSOLE(con)) {
QemuTextConsole *s = QEMU_TEXT_CONSOLE(con);
bool ctrl = qkbd_state_modifier_get(scon->kbd, QKBD_MOD_CTRL); bool ctrl = qkbd_state_modifier_get(scon->kbd, QKBD_MOD_CTRL);
if (ev->type == SDL_KEYDOWN) { if (ev->type == SDL_KEYDOWN) {
switch (qcode) { switch (qcode) {
case Q_KEY_CODE_RET: case Q_KEY_CODE_RET:
kbd_put_keysym_console(con, '\n'); kbd_put_keysym_console(s, '\n');
break; break;
default: default:
kbd_put_qcode_console(con, qcode, ctrl); kbd_put_qcode_console(s, qcode, ctrl);
break; break;
} }
} }

View File

@ -483,10 +483,9 @@ static void handle_textinput(SDL_Event *ev)
return; return;
} }
if (qemu_console_is_graphic(con)) { if (QEMU_IS_TEXT_CONSOLE(con)) {
return; kbd_put_string_console(QEMU_TEXT_CONSOLE(con), ev->text.text, strlen(ev->text.text));
} }
kbd_put_string_console(con, ev->text.text, strlen(ev->text.text));
} }
static void handle_mousemotion(SDL_Event *ev) static void handle_mousemotion(SDL_Event *ev)