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++) { |