mirror of https://github.com/xemu-project/xemu.git
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:
parent
32aa1f8dee
commit
9db018ac56
|
@ -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 */
|
||||||
|
|
14
ui/console.c
14
ui/console.c
|
@ -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)
|
||||||
|
|
2
ui/gtk.c
2
ui/gtk.c
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue