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 | 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 | 617 | /* called when an ascii key is pressed */ |
603 | 618 | void kbd_put_keysym(int keysym) |
604 | 619 | { |
... | ... | @@ -689,6 +704,8 @@ CharDriverState *text_console_init(DisplayState *ds) |
689 | 704 | chr->opaque = s; |
690 | 705 | chr->chr_write = console_puts; |
691 | 706 | chr->chr_add_read_handler = console_chr_add_read_handler; |
707 | + chr->chr_send_event = console_send_event; | |
708 | + | |
692 | 709 | if (!color_inited) { |
693 | 710 | color_inited = 1; |
694 | 711 | for(i = 0; i < 8; i++) { | ... | ... |