Commit 6fcfafb742459e29e29fd61ed174108064643915
1 parent
af8ffdfd
console focus support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1032 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
17 additions
and
0 deletions
console.c
@@ -599,6 +599,21 @@ static void console_chr_add_read_handler(CharDriverState *chr, | @@ -599,6 +599,21 @@ static void console_chr_add_read_handler(CharDriverState *chr, | ||
599 | s->fd_opaque = opaque; | 599 | s->fd_opaque = opaque; |
600 | } | 600 | } |
601 | 601 | ||
602 | +static void console_send_event(CharDriverState *chr, int event) | ||
603 | +{ | ||
604 | + TextConsole *s = chr->opaque; | ||
605 | + int i; | ||
606 | + | ||
607 | + if (event == CHR_EVENT_FOCUS) { | ||
608 | + for(i = 0; i < nb_consoles; i++) { | ||
609 | + if (consoles[i] == s) { | ||
610 | + console_select(i); | ||
611 | + break; | ||
612 | + } | ||
613 | + } | ||
614 | + } | ||
615 | +} | ||
616 | + | ||
602 | /* called when an ascii key is pressed */ | 617 | /* called when an ascii key is pressed */ |
603 | void kbd_put_keysym(int keysym) | 618 | void kbd_put_keysym(int keysym) |
604 | { | 619 | { |
@@ -689,6 +704,8 @@ CharDriverState *text_console_init(DisplayState *ds) | @@ -689,6 +704,8 @@ CharDriverState *text_console_init(DisplayState *ds) | ||
689 | chr->opaque = s; | 704 | chr->opaque = s; |
690 | chr->chr_write = console_puts; | 705 | chr->chr_write = console_puts; |
691 | chr->chr_add_read_handler = console_chr_add_read_handler; | 706 | chr->chr_add_read_handler = console_chr_add_read_handler; |
707 | + chr->chr_send_event = console_send_event; | ||
708 | + | ||
692 | if (!color_inited) { | 709 | if (!color_inited) { |
693 | color_inited = 1; | 710 | color_inited = 1; |
694 | for(i = 0; i < 8; i++) { | 711 | for(i = 0; i < 8; i++) { |