input: keyboard: switch vnc ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									a25f545d68
								
							
						
					
					
						commit
						8d447d10b7
					
				
							
								
								
									
										25
									
								
								ui/vnc.c
								
								
								
								
							
							
						
						
									
										25
									
								
								ui/vnc.c
								
								
								
								
							| 
						 | 
					@ -33,6 +33,7 @@
 | 
				
			||||||
#include "qapi/qmp/types.h"
 | 
					#include "qapi/qmp/types.h"
 | 
				
			||||||
#include "qmp-commands.h"
 | 
					#include "qmp-commands.h"
 | 
				
			||||||
#include "qemu/osdep.h"
 | 
					#include "qemu/osdep.h"
 | 
				
			||||||
 | 
					#include "ui/input.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define VNC_REFRESH_INTERVAL_BASE GUI_REFRESH_INTERVAL_DEFAULT
 | 
					#define VNC_REFRESH_INTERVAL_BASE GUI_REFRESH_INTERVAL_DEFAULT
 | 
				
			||||||
#define VNC_REFRESH_INTERVAL_INC  50
 | 
					#define VNC_REFRESH_INTERVAL_INC  50
 | 
				
			||||||
| 
						 | 
					@ -1542,9 +1543,7 @@ static void reset_keys(VncState *vs)
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
    for(i = 0; i < 256; i++) {
 | 
					    for(i = 0; i < 256; i++) {
 | 
				
			||||||
        if (vs->modifiers_state[i]) {
 | 
					        if (vs->modifiers_state[i]) {
 | 
				
			||||||
            if (i & SCANCODE_GREY)
 | 
					            qemu_input_event_send_key_number(vs->vd->dcl.con, i, false);
 | 
				
			||||||
                kbd_put_keycode(SCANCODE_EMUL0);
 | 
					 | 
				
			||||||
            kbd_put_keycode(i | SCANCODE_UP);
 | 
					 | 
				
			||||||
            vs->modifiers_state[i] = 0;
 | 
					            vs->modifiers_state[i] = 0;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -1553,12 +1552,8 @@ static void reset_keys(VncState *vs)
 | 
				
			||||||
static void press_key(VncState *vs, int keysym)
 | 
					static void press_key(VncState *vs, int keysym)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    int keycode = keysym2scancode(vs->vd->kbd_layout, keysym) & SCANCODE_KEYMASK;
 | 
					    int keycode = keysym2scancode(vs->vd->kbd_layout, keysym) & SCANCODE_KEYMASK;
 | 
				
			||||||
    if (keycode & SCANCODE_GREY)
 | 
					    qemu_input_event_send_key_number(vs->vd->dcl.con, keycode, true);
 | 
				
			||||||
        kbd_put_keycode(SCANCODE_EMUL0);
 | 
					    qemu_input_event_send_key_number(vs->vd->dcl.con, keycode, false);
 | 
				
			||||||
    kbd_put_keycode(keycode & SCANCODE_KEYCODEMASK);
 | 
					 | 
				
			||||||
    if (keycode & SCANCODE_GREY)
 | 
					 | 
				
			||||||
        kbd_put_keycode(SCANCODE_EMUL0);
 | 
					 | 
				
			||||||
    kbd_put_keycode(keycode | SCANCODE_UP);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int current_led_state(VncState *vs)
 | 
					static int current_led_state(VncState *vs)
 | 
				
			||||||
| 
						 | 
					@ -1700,12 +1695,7 @@ static void do_key_event(VncState *vs, int down, int keycode, int sym)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (qemu_console_is_graphic(NULL)) {
 | 
					    if (qemu_console_is_graphic(NULL)) {
 | 
				
			||||||
        if (keycode & SCANCODE_GREY)
 | 
					        qemu_input_event_send_key_number(vs->vd->dcl.con, keycode, down);
 | 
				
			||||||
            kbd_put_keycode(SCANCODE_EMUL0);
 | 
					 | 
				
			||||||
        if (down)
 | 
					 | 
				
			||||||
            kbd_put_keycode(keycode & SCANCODE_KEYCODEMASK);
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            kbd_put_keycode(keycode | SCANCODE_UP);
 | 
					 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        bool numlock = vs->modifiers_state[0x45];
 | 
					        bool numlock = vs->modifiers_state[0x45];
 | 
				
			||||||
        bool control = (vs->modifiers_state[0x1d] ||
 | 
					        bool control = (vs->modifiers_state[0x1d] ||
 | 
				
			||||||
| 
						 | 
					@ -1826,10 +1816,7 @@ static void vnc_release_modifiers(VncState *vs)
 | 
				
			||||||
        if (!vs->modifiers_state[keycode]) {
 | 
					        if (!vs->modifiers_state[keycode]) {
 | 
				
			||||||
            continue;
 | 
					            continue;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (keycode & SCANCODE_GREY) {
 | 
					        qemu_input_event_send_key_number(vs->vd->dcl.con, keycode, false);
 | 
				
			||||||
            kbd_put_keycode(SCANCODE_EMUL0);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        kbd_put_keycode(keycode | SCANCODE_UP);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue