ui: bugfixes, drop keymap include support, drop dead code.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJcNwaOAAoJEEy22O7T6HE4usIQAKMdl63407uCPDP+k9ySKL2l W4O3uRZ0sj+RB7hk8evUJIT/oxGcfD2a4CHQPX6UDn5c5XgZoAuHe/gIzQe4v2QS o/Ot7qEbES4QitTSqhkiEuKl6iCp2mY+gchsVRMxfjOFvusU0B/nOl9BZCe57EFc jJQyI5sKJb/s6ygDp7yMwA5/qfglIv+wHAbX1GDBAiO6Vuwdk1OOXF/mhI/O1TA3 T8d71v8cFiC1hWl7vLFecejN5lcXAO/1jVkyuEU9bQfMe1qoZ+BhzJvgzet8XzW+ j1HrcybNjClvr1Iv0SFkwoRC6w8c2tMOtT10LHtiWF38r/1v8gWcQk36Jeim2Kq3 RcV9IX56PJWSRTa9Roqvemc3hn3e7WcUkmyQX0PMbNq8obJhjNFuyEFunS1Wo4/G ldJ+NSK1n3l90s3ZFRLWiL4DADpYeQy34U3iG4VlC6AYXmKWMjbZCiCyyJCRtawP aYLbVQ/+6NsVQol4LaOqlP7uukmOBRiHZIdFTQn9xG3tymJZcEGVM3YSkfuK6InQ qTmmRFCUhGi0YPkYupk4BfUyHlSpnecoRGTh4jtetr2CctrhotRCC1L4z45KbzMM kWQGaqzCqLGuG7eDSNmwPdrjUKgoqTLWgTikCJhCS+QTFRWR23RigD8PrAq62kGc oFNGlDkpqizbdoEAfWOp =TcEc -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/kraxel/tags/ui-20190110-pull-request' into staging ui: bugfixes, drop keymap include support, drop dead code. # gpg: Signature made Thu 10 Jan 2019 08:47:10 GMT # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/ui-20190110-pull-request: spice: Remove unused include keymaps: drop support for include files keymaps: remove common include keymaps: drop nl-be map keymaps: remove modifiers include ui/console: Remove qemu_create_display_surface_guestmem() configure: bump spice-server required version to 0.12.5 egl-headless: add egl_create_context Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
823dcd58ea
4
Makefile
4
Makefile
@ -651,9 +651,9 @@ distclean: clean
|
|||||||
rm -Rf .sdk
|
rm -Rf .sdk
|
||||||
if test -f dtc/version_gen.h; then $(MAKE) $(DTC_MAKE_ARGS) clean; fi
|
if test -f dtc/version_gen.h; then $(MAKE) $(DTC_MAKE_ARGS) clean; fi
|
||||||
|
|
||||||
KEYMAPS=da en-gb et fr fr-ch is lt modifiers no pt-br sv \
|
KEYMAPS=da en-gb et fr fr-ch is lt no pt-br sv \
|
||||||
ar de en-us fi fr-be hr it lv nl pl ru th \
|
ar de en-us fi fr-be hr it lv nl pl ru th \
|
||||||
common de-ch es fo fr-ca hu ja mk nl-be pt sl tr \
|
de-ch es fo fr-ca hu ja mk pt sl tr \
|
||||||
bepo cz
|
bepo cz
|
||||||
|
|
||||||
ifdef INSTALL_BLOBS
|
ifdef INSTALL_BLOBS
|
||||||
|
@ -77,7 +77,6 @@ static int vmc_read(SpiceCharDeviceInstance *sin, uint8_t *buf, int len)
|
|||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
static void vmc_event(SpiceCharDeviceInstance *sin, uint8_t event)
|
static void vmc_event(SpiceCharDeviceInstance *sin, uint8_t event)
|
||||||
{
|
{
|
||||||
SpiceChardev *scd = container_of(sin, SpiceChardev, sin);
|
SpiceChardev *scd = container_of(sin, SpiceChardev, sin);
|
||||||
@ -95,7 +94,6 @@ static void vmc_event(SpiceCharDeviceInstance *sin, uint8_t event)
|
|||||||
trace_spice_vmc_event(chr_event);
|
trace_spice_vmc_event(chr_event);
|
||||||
qemu_chr_be_event(chr, chr_event);
|
qemu_chr_be_event(chr, chr_event);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void vmc_state(SpiceCharDeviceInstance *sin, int connected)
|
static void vmc_state(SpiceCharDeviceInstance *sin, int connected)
|
||||||
{
|
{
|
||||||
@ -119,9 +117,7 @@ static SpiceCharDeviceInterface vmc_interface = {
|
|||||||
.state = vmc_state,
|
.state = vmc_state,
|
||||||
.write = vmc_write,
|
.write = vmc_write,
|
||||||
.read = vmc_read,
|
.read = vmc_read,
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
.event = vmc_event,
|
.event = vmc_event,
|
||||||
#endif
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c06
|
#if SPICE_SERVER_VERSION >= 0x000c06
|
||||||
.flags = SPICE_CHAR_DEVICE_NOTIFY_WRITABLE,
|
.flags = SPICE_CHAR_DEVICE_NOTIFY_WRITABLE,
|
||||||
#endif
|
#endif
|
||||||
@ -223,9 +219,7 @@ static void char_spice_finalize(Object *obj)
|
|||||||
}
|
}
|
||||||
|
|
||||||
g_free((char *)s->sin.subtype);
|
g_free((char *)s->sin.subtype);
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
g_free((char *)s->sin.portname);
|
g_free((char *)s->sin.portname);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void spice_vmc_set_fe_open(struct Chardev *chr, int fe_open)
|
static void spice_vmc_set_fe_open(struct Chardev *chr, int fe_open)
|
||||||
@ -240,7 +234,6 @@ static void spice_vmc_set_fe_open(struct Chardev *chr, int fe_open)
|
|||||||
|
|
||||||
static void spice_port_set_fe_open(struct Chardev *chr, int fe_open)
|
static void spice_port_set_fe_open(struct Chardev *chr, int fe_open)
|
||||||
{
|
{
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
SpiceChardev *s = SPICE_CHARDEV(chr);
|
SpiceChardev *s = SPICE_CHARDEV(chr);
|
||||||
|
|
||||||
if (fe_open) {
|
if (fe_open) {
|
||||||
@ -248,7 +241,6 @@ static void spice_port_set_fe_open(struct Chardev *chr, int fe_open)
|
|||||||
} else {
|
} else {
|
||||||
spice_server_port_event(&s->sin, SPICE_PORT_EVENT_CLOSED);
|
spice_server_port_event(&s->sin, SPICE_PORT_EVENT_CLOSED);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void spice_chr_accept_input(struct Chardev *chr)
|
static void spice_chr_accept_input(struct Chardev *chr)
|
||||||
@ -298,7 +290,6 @@ static void qemu_chr_open_spice_vmc(Chardev *chr,
|
|||||||
chr_open(chr, type);
|
chr_open(chr, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
static void qemu_chr_open_spice_port(Chardev *chr,
|
static void qemu_chr_open_spice_port(Chardev *chr,
|
||||||
ChardevBackend *backend,
|
ChardevBackend *backend,
|
||||||
bool *be_opened,
|
bool *be_opened,
|
||||||
@ -331,7 +322,6 @@ void qemu_spice_register_ports(void)
|
|||||||
vmc_register_interface(s);
|
vmc_register_interface(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void qemu_chr_parse_spice_vmc(QemuOpts *opts, ChardevBackend *backend,
|
static void qemu_chr_parse_spice_vmc(QemuOpts *opts, ChardevBackend *backend,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
|
4
configure
vendored
4
configure
vendored
@ -4622,7 +4622,7 @@ int main(void) { spice_server_new(); return 0; }
|
|||||||
EOF
|
EOF
|
||||||
spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
|
spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
|
||||||
spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
|
spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
|
||||||
if $pkg_config --atleast-version=0.12.0 spice-server && \
|
if $pkg_config --atleast-version=0.12.5 spice-server && \
|
||||||
$pkg_config --atleast-version=0.12.3 spice-protocol && \
|
$pkg_config --atleast-version=0.12.3 spice-protocol && \
|
||||||
compile_prog "$spice_cflags" "$spice_libs" ; then
|
compile_prog "$spice_cflags" "$spice_libs" ; then
|
||||||
spice="yes"
|
spice="yes"
|
||||||
@ -4633,7 +4633,7 @@ EOF
|
|||||||
else
|
else
|
||||||
if test "$spice" = "yes" ; then
|
if test "$spice" = "yes" ; then
|
||||||
feature_not_found "spice" \
|
feature_not_found "spice" \
|
||||||
"Install spice-server(>=0.12.0) and spice-protocol(>=0.12.3) devel"
|
"Install spice-server(>=0.12.5) and spice-protocol(>=0.12.3) devel"
|
||||||
fi
|
fi
|
||||||
spice="no"
|
spice="no"
|
||||||
fi
|
fi
|
||||||
|
@ -1189,9 +1189,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
trace_qxl_enter_vga_mode(d->id);
|
trace_qxl_enter_vga_mode(d->id);
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c03 /* release 0.12.3 */
|
|
||||||
spice_qxl_driver_unload(&d->ssd.qxl);
|
spice_qxl_driver_unload(&d->ssd.qxl);
|
||||||
#endif
|
|
||||||
graphic_console_set_hwops(d->ssd.dcl.con, d->vga.hw_ops, &d->vga);
|
graphic_console_set_hwops(d->ssd.dcl.con, d->vga.hw_ops, &d->vga);
|
||||||
update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_DEFAULT);
|
update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_DEFAULT);
|
||||||
qemu_spice_create_host_primary(&d->ssd);
|
qemu_spice_create_host_primary(&d->ssd);
|
||||||
|
@ -257,10 +257,6 @@ DisplaySurface *qemu_create_displaysurface_from(int width, int height,
|
|||||||
pixman_format_code_t format,
|
pixman_format_code_t format,
|
||||||
int linesize, uint8_t *data);
|
int linesize, uint8_t *data);
|
||||||
DisplaySurface *qemu_create_displaysurface_pixman(pixman_image_t *image);
|
DisplaySurface *qemu_create_displaysurface_pixman(pixman_image_t *image);
|
||||||
DisplaySurface *qemu_create_displaysurface_guestmem(int width, int height,
|
|
||||||
pixman_format_code_t format,
|
|
||||||
int linesize,
|
|
||||||
uint64_t addr);
|
|
||||||
DisplaySurface *qemu_create_message_surface(int w, int h,
|
DisplaySurface *qemu_create_message_surface(int w, int h,
|
||||||
const char *msg);
|
const char *msg);
|
||||||
PixelFormat qemu_default_pixelformat(int bpp);
|
PixelFormat qemu_default_pixelformat(int bpp);
|
||||||
|
@ -46,13 +46,7 @@ int qemu_spice_migrate_info(const char *hostname, int port, int tls_port,
|
|||||||
#else
|
#else
|
||||||
#define SPICE_NEEDS_SET_MM_TIME 0
|
#define SPICE_NEEDS_SET_MM_TIME 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
void qemu_spice_register_ports(void);
|
void qemu_spice_register_ports(void);
|
||||||
#else
|
|
||||||
static inline Chardev *qemu_chr_open_spice_port(const char *name)
|
|
||||||
{ return NULL; }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else /* CONFIG_SPICE */
|
#else /* CONFIG_SPICE */
|
||||||
|
|
||||||
|
@ -1,157 +0,0 @@
|
|||||||
include modifiers
|
|
||||||
|
|
||||||
#
|
|
||||||
# Top row
|
|
||||||
#
|
|
||||||
1 0x2
|
|
||||||
2 0x3
|
|
||||||
3 0x4
|
|
||||||
4 0x5
|
|
||||||
5 0x6
|
|
||||||
6 0x7
|
|
||||||
7 0x8
|
|
||||||
8 0x9
|
|
||||||
9 0xa
|
|
||||||
0 0xb
|
|
||||||
BackSpace 0xe
|
|
||||||
|
|
||||||
#
|
|
||||||
# QWERTY first row
|
|
||||||
#
|
|
||||||
Tab 0xf localstate
|
|
||||||
ISO_Left_Tab 0xf shift
|
|
||||||
q 0x10 addupper
|
|
||||||
w 0x11 addupper
|
|
||||||
e 0x12 addupper
|
|
||||||
r 0x13 addupper
|
|
||||||
t 0x14 addupper
|
|
||||||
y 0x15 addupper
|
|
||||||
u 0x16 addupper
|
|
||||||
i 0x17 addupper
|
|
||||||
o 0x18 addupper
|
|
||||||
p 0x19 addupper
|
|
||||||
|
|
||||||
#
|
|
||||||
# QWERTY second row
|
|
||||||
#
|
|
||||||
a 0x1e addupper
|
|
||||||
s 0x1f addupper
|
|
||||||
d 0x20 addupper
|
|
||||||
f 0x21 addupper
|
|
||||||
g 0x22 addupper
|
|
||||||
h 0x23 addupper
|
|
||||||
j 0x24 addupper
|
|
||||||
k 0x25 addupper
|
|
||||||
l 0x26 addupper
|
|
||||||
Return 0x1c localstate
|
|
||||||
|
|
||||||
#
|
|
||||||
# QWERTY third row
|
|
||||||
#
|
|
||||||
z 0x2c addupper
|
|
||||||
x 0x2d addupper
|
|
||||||
c 0x2e addupper
|
|
||||||
v 0x2f addupper
|
|
||||||
b 0x30 addupper
|
|
||||||
n 0x31 addupper
|
|
||||||
m 0x32 addupper
|
|
||||||
|
|
||||||
space 0x39 localstate
|
|
||||||
|
|
||||||
less 0x56
|
|
||||||
greater 0x56 shift
|
|
||||||
bar 0x56 altgr
|
|
||||||
brokenbar 0x56 shift altgr
|
|
||||||
|
|
||||||
#
|
|
||||||
# Esc and Function keys
|
|
||||||
#
|
|
||||||
Escape 0x1 localstate
|
|
||||||
F1 0x3b localstate
|
|
||||||
F2 0x3c localstate
|
|
||||||
F3 0x3d localstate
|
|
||||||
F4 0x3e localstate
|
|
||||||
F5 0x3f localstate
|
|
||||||
F6 0x40 localstate
|
|
||||||
F7 0x41 localstate
|
|
||||||
F8 0x42 localstate
|
|
||||||
F9 0x43 localstate
|
|
||||||
F10 0x44 localstate
|
|
||||||
F11 0x57 localstate
|
|
||||||
F12 0x58 localstate
|
|
||||||
|
|
||||||
# Printscreen, Scrollock and Pause
|
|
||||||
# Printscreen really requires four scancodes (0xe0, 0x2a, 0xe0, 0x37),
|
|
||||||
# but (0xe0, 0x37) seems to work.
|
|
||||||
Print 0xb7 localstate
|
|
||||||
Sys_Req 0xb7 localstate
|
|
||||||
Execute 0xb7 localstate
|
|
||||||
Scroll_Lock 0x46
|
|
||||||
|
|
||||||
#
|
|
||||||
# Insert - PgDown
|
|
||||||
#
|
|
||||||
Insert 0xd2 localstate
|
|
||||||
Delete 0xd3 localstate
|
|
||||||
Home 0xc7 localstate
|
|
||||||
End 0xcf localstate
|
|
||||||
Page_Up 0xc9 localstate
|
|
||||||
Page_Down 0xd1 localstate
|
|
||||||
|
|
||||||
#
|
|
||||||
# Arrow keys
|
|
||||||
#
|
|
||||||
Left 0xcb localstate
|
|
||||||
Up 0xc8 localstate
|
|
||||||
Down 0xd0 localstate
|
|
||||||
Right 0xcd localstate
|
|
||||||
|
|
||||||
#
|
|
||||||
# Numpad
|
|
||||||
#
|
|
||||||
Num_Lock 0x45
|
|
||||||
KP_Divide 0xb5
|
|
||||||
KP_Multiply 0x37
|
|
||||||
KP_Subtract 0x4a
|
|
||||||
KP_Add 0x4e
|
|
||||||
KP_Enter 0x9c
|
|
||||||
|
|
||||||
KP_Decimal 0x53 numlock
|
|
||||||
KP_Separator 0x53 numlock
|
|
||||||
KP_Delete 0x53
|
|
||||||
|
|
||||||
KP_0 0x52 numlock
|
|
||||||
KP_Insert 0x52
|
|
||||||
|
|
||||||
KP_1 0x4f numlock
|
|
||||||
KP_End 0x4f
|
|
||||||
|
|
||||||
KP_2 0x50 numlock
|
|
||||||
KP_Down 0x50
|
|
||||||
|
|
||||||
KP_3 0x51 numlock
|
|
||||||
KP_Next 0x51
|
|
||||||
|
|
||||||
KP_4 0x4b numlock
|
|
||||||
KP_Left 0x4b
|
|
||||||
|
|
||||||
KP_5 0x4c numlock
|
|
||||||
KP_Begin 0x4c
|
|
||||||
|
|
||||||
KP_6 0x4d numlock
|
|
||||||
KP_Right 0x4d
|
|
||||||
|
|
||||||
KP_7 0x47 numlock
|
|
||||||
KP_Home 0x47
|
|
||||||
|
|
||||||
KP_8 0x48 numlock
|
|
||||||
KP_Up 0x48
|
|
||||||
|
|
||||||
KP_9 0x49 numlock
|
|
||||||
KP_Prior 0x49
|
|
||||||
|
|
||||||
Caps_Lock 0x3a
|
|
||||||
#
|
|
||||||
# Inhibited keys
|
|
||||||
#
|
|
||||||
Multi_key 0x0 inhibit
|
|
@ -1,18 +0,0 @@
|
|||||||
Shift_R 0x36
|
|
||||||
Shift_L 0x2a
|
|
||||||
|
|
||||||
Alt_R 0xb8
|
|
||||||
Mode_switch 0xb8
|
|
||||||
ISO_Level3_Shift 0xb8
|
|
||||||
Alt_L 0x38
|
|
||||||
|
|
||||||
Control_R 0x9d
|
|
||||||
Control_L 0x1d
|
|
||||||
|
|
||||||
# Translate Super to Windows keys.
|
|
||||||
# This is hardcoded. See documentation for details.
|
|
||||||
Super_R 0xdc
|
|
||||||
Super_L 0xdb
|
|
||||||
|
|
||||||
# Translate Menu to the Windows Application key.
|
|
||||||
Menu 0xdd
|
|
@ -1,3 +0,0 @@
|
|||||||
# Dutch (Belgium)
|
|
||||||
map 0x813
|
|
||||||
include common
|
|
@ -1,5 +1,180 @@
|
|||||||
# generated from XKB map sl
|
# generated from XKB map sl
|
||||||
include common
|
|
||||||
|
Shift_R 0x36
|
||||||
|
Shift_L 0x2a
|
||||||
|
|
||||||
|
Alt_R 0xb8
|
||||||
|
Mode_switch 0xb8
|
||||||
|
ISO_Level3_Shift 0xb8
|
||||||
|
Alt_L 0x38
|
||||||
|
|
||||||
|
Control_R 0x9d
|
||||||
|
Control_L 0x1d
|
||||||
|
|
||||||
|
# Translate Super to Windows keys.
|
||||||
|
# This is hardcoded. See documentation for details.
|
||||||
|
Super_R 0xdc
|
||||||
|
Super_L 0xdb
|
||||||
|
|
||||||
|
# Translate Menu to the Windows Application key.
|
||||||
|
Menu 0xdd
|
||||||
|
|
||||||
|
#
|
||||||
|
# Top row
|
||||||
|
#
|
||||||
|
1 0x2
|
||||||
|
2 0x3
|
||||||
|
3 0x4
|
||||||
|
4 0x5
|
||||||
|
5 0x6
|
||||||
|
6 0x7
|
||||||
|
7 0x8
|
||||||
|
8 0x9
|
||||||
|
9 0xa
|
||||||
|
0 0xb
|
||||||
|
BackSpace 0xe
|
||||||
|
|
||||||
|
#
|
||||||
|
# QWERTY first row
|
||||||
|
#
|
||||||
|
Tab 0xf localstate
|
||||||
|
ISO_Left_Tab 0xf shift
|
||||||
|
q 0x10 addupper
|
||||||
|
w 0x11 addupper
|
||||||
|
e 0x12 addupper
|
||||||
|
r 0x13 addupper
|
||||||
|
t 0x14 addupper
|
||||||
|
y 0x15 addupper
|
||||||
|
u 0x16 addupper
|
||||||
|
i 0x17 addupper
|
||||||
|
o 0x18 addupper
|
||||||
|
p 0x19 addupper
|
||||||
|
|
||||||
|
#
|
||||||
|
# QWERTY second row
|
||||||
|
#
|
||||||
|
a 0x1e addupper
|
||||||
|
s 0x1f addupper
|
||||||
|
d 0x20 addupper
|
||||||
|
f 0x21 addupper
|
||||||
|
g 0x22 addupper
|
||||||
|
h 0x23 addupper
|
||||||
|
j 0x24 addupper
|
||||||
|
k 0x25 addupper
|
||||||
|
l 0x26 addupper
|
||||||
|
Return 0x1c localstate
|
||||||
|
|
||||||
|
#
|
||||||
|
# QWERTY third row
|
||||||
|
#
|
||||||
|
z 0x2c addupper
|
||||||
|
x 0x2d addupper
|
||||||
|
c 0x2e addupper
|
||||||
|
v 0x2f addupper
|
||||||
|
b 0x30 addupper
|
||||||
|
n 0x31 addupper
|
||||||
|
m 0x32 addupper
|
||||||
|
|
||||||
|
space 0x39 localstate
|
||||||
|
|
||||||
|
less 0x56
|
||||||
|
greater 0x56 shift
|
||||||
|
bar 0x56 altgr
|
||||||
|
brokenbar 0x56 shift altgr
|
||||||
|
|
||||||
|
#
|
||||||
|
# Esc and Function keys
|
||||||
|
#
|
||||||
|
Escape 0x1 localstate
|
||||||
|
F1 0x3b localstate
|
||||||
|
F2 0x3c localstate
|
||||||
|
F3 0x3d localstate
|
||||||
|
F4 0x3e localstate
|
||||||
|
F5 0x3f localstate
|
||||||
|
F6 0x40 localstate
|
||||||
|
F7 0x41 localstate
|
||||||
|
F8 0x42 localstate
|
||||||
|
F9 0x43 localstate
|
||||||
|
F10 0x44 localstate
|
||||||
|
F11 0x57 localstate
|
||||||
|
F12 0x58 localstate
|
||||||
|
|
||||||
|
# Printscreen, Scrollock and Pause
|
||||||
|
# Printscreen really requires four scancodes (0xe0, 0x2a, 0xe0, 0x37),
|
||||||
|
# but (0xe0, 0x37) seems to work.
|
||||||
|
Print 0xb7 localstate
|
||||||
|
Sys_Req 0xb7 localstate
|
||||||
|
Execute 0xb7 localstate
|
||||||
|
Scroll_Lock 0x46
|
||||||
|
|
||||||
|
#
|
||||||
|
# Insert - PgDown
|
||||||
|
#
|
||||||
|
Insert 0xd2 localstate
|
||||||
|
Delete 0xd3 localstate
|
||||||
|
Home 0xc7 localstate
|
||||||
|
End 0xcf localstate
|
||||||
|
Page_Up 0xc9 localstate
|
||||||
|
Page_Down 0xd1 localstate
|
||||||
|
|
||||||
|
#
|
||||||
|
# Arrow keys
|
||||||
|
#
|
||||||
|
Left 0xcb localstate
|
||||||
|
Up 0xc8 localstate
|
||||||
|
Down 0xd0 localstate
|
||||||
|
Right 0xcd localstate
|
||||||
|
|
||||||
|
#
|
||||||
|
# Numpad
|
||||||
|
#
|
||||||
|
Num_Lock 0x45
|
||||||
|
KP_Divide 0xb5
|
||||||
|
KP_Multiply 0x37
|
||||||
|
KP_Subtract 0x4a
|
||||||
|
KP_Add 0x4e
|
||||||
|
KP_Enter 0x9c
|
||||||
|
|
||||||
|
KP_Decimal 0x53 numlock
|
||||||
|
KP_Separator 0x53 numlock
|
||||||
|
KP_Delete 0x53
|
||||||
|
|
||||||
|
KP_0 0x52 numlock
|
||||||
|
KP_Insert 0x52
|
||||||
|
|
||||||
|
KP_1 0x4f numlock
|
||||||
|
KP_End 0x4f
|
||||||
|
|
||||||
|
KP_2 0x50 numlock
|
||||||
|
KP_Down 0x50
|
||||||
|
|
||||||
|
KP_3 0x51 numlock
|
||||||
|
KP_Next 0x51
|
||||||
|
|
||||||
|
KP_4 0x4b numlock
|
||||||
|
KP_Left 0x4b
|
||||||
|
|
||||||
|
KP_5 0x4c numlock
|
||||||
|
KP_Begin 0x4c
|
||||||
|
|
||||||
|
KP_6 0x4d numlock
|
||||||
|
KP_Right 0x4d
|
||||||
|
|
||||||
|
KP_7 0x47 numlock
|
||||||
|
KP_Home 0x47
|
||||||
|
|
||||||
|
KP_8 0x48 numlock
|
||||||
|
KP_Up 0x48
|
||||||
|
|
||||||
|
KP_9 0x49 numlock
|
||||||
|
KP_Prior 0x49
|
||||||
|
|
||||||
|
Caps_Lock 0x3a
|
||||||
|
#
|
||||||
|
# Inhibited keys
|
||||||
|
#
|
||||||
|
Multi_key 0x0 inhibit
|
||||||
|
|
||||||
map 0x424
|
map 0x424
|
||||||
exclam 0x02 shift
|
exclam 0x02 shift
|
||||||
asciitilde 0x02 altgr
|
asciitilde 0x02 altgr
|
||||||
|
@ -1,5 +1,179 @@
|
|||||||
map 0x0000041d
|
map 0x0000041d
|
||||||
include common
|
|
||||||
|
Shift_R 0x36
|
||||||
|
Shift_L 0x2a
|
||||||
|
|
||||||
|
Alt_R 0xb8
|
||||||
|
Mode_switch 0xb8
|
||||||
|
ISO_Level3_Shift 0xb8
|
||||||
|
Alt_L 0x38
|
||||||
|
|
||||||
|
Control_R 0x9d
|
||||||
|
Control_L 0x1d
|
||||||
|
|
||||||
|
# Translate Super to Windows keys.
|
||||||
|
# This is hardcoded. See documentation for details.
|
||||||
|
Super_R 0xdc
|
||||||
|
Super_L 0xdb
|
||||||
|
|
||||||
|
# Translate Menu to the Windows Application key.
|
||||||
|
Menu 0xdd
|
||||||
|
|
||||||
|
#
|
||||||
|
# Top row
|
||||||
|
#
|
||||||
|
1 0x2
|
||||||
|
2 0x3
|
||||||
|
3 0x4
|
||||||
|
4 0x5
|
||||||
|
5 0x6
|
||||||
|
6 0x7
|
||||||
|
7 0x8
|
||||||
|
8 0x9
|
||||||
|
9 0xa
|
||||||
|
0 0xb
|
||||||
|
BackSpace 0xe
|
||||||
|
|
||||||
|
#
|
||||||
|
# QWERTY first row
|
||||||
|
#
|
||||||
|
Tab 0xf localstate
|
||||||
|
ISO_Left_Tab 0xf shift
|
||||||
|
q 0x10 addupper
|
||||||
|
w 0x11 addupper
|
||||||
|
e 0x12 addupper
|
||||||
|
r 0x13 addupper
|
||||||
|
t 0x14 addupper
|
||||||
|
y 0x15 addupper
|
||||||
|
u 0x16 addupper
|
||||||
|
i 0x17 addupper
|
||||||
|
o 0x18 addupper
|
||||||
|
p 0x19 addupper
|
||||||
|
|
||||||
|
#
|
||||||
|
# QWERTY second row
|
||||||
|
#
|
||||||
|
a 0x1e addupper
|
||||||
|
s 0x1f addupper
|
||||||
|
d 0x20 addupper
|
||||||
|
f 0x21 addupper
|
||||||
|
g 0x22 addupper
|
||||||
|
h 0x23 addupper
|
||||||
|
j 0x24 addupper
|
||||||
|
k 0x25 addupper
|
||||||
|
l 0x26 addupper
|
||||||
|
Return 0x1c localstate
|
||||||
|
|
||||||
|
#
|
||||||
|
# QWERTY third row
|
||||||
|
#
|
||||||
|
z 0x2c addupper
|
||||||
|
x 0x2d addupper
|
||||||
|
c 0x2e addupper
|
||||||
|
v 0x2f addupper
|
||||||
|
b 0x30 addupper
|
||||||
|
n 0x31 addupper
|
||||||
|
m 0x32 addupper
|
||||||
|
|
||||||
|
space 0x39 localstate
|
||||||
|
|
||||||
|
less 0x56
|
||||||
|
greater 0x56 shift
|
||||||
|
bar 0x56 altgr
|
||||||
|
brokenbar 0x56 shift altgr
|
||||||
|
|
||||||
|
#
|
||||||
|
# Esc and Function keys
|
||||||
|
#
|
||||||
|
Escape 0x1 localstate
|
||||||
|
F1 0x3b localstate
|
||||||
|
F2 0x3c localstate
|
||||||
|
F3 0x3d localstate
|
||||||
|
F4 0x3e localstate
|
||||||
|
F5 0x3f localstate
|
||||||
|
F6 0x40 localstate
|
||||||
|
F7 0x41 localstate
|
||||||
|
F8 0x42 localstate
|
||||||
|
F9 0x43 localstate
|
||||||
|
F10 0x44 localstate
|
||||||
|
F11 0x57 localstate
|
||||||
|
F12 0x58 localstate
|
||||||
|
|
||||||
|
# Printscreen, Scrollock and Pause
|
||||||
|
# Printscreen really requires four scancodes (0xe0, 0x2a, 0xe0, 0x37),
|
||||||
|
# but (0xe0, 0x37) seems to work.
|
||||||
|
Print 0xb7 localstate
|
||||||
|
Sys_Req 0xb7 localstate
|
||||||
|
Execute 0xb7 localstate
|
||||||
|
Scroll_Lock 0x46
|
||||||
|
|
||||||
|
#
|
||||||
|
# Insert - PgDown
|
||||||
|
#
|
||||||
|
Insert 0xd2 localstate
|
||||||
|
Delete 0xd3 localstate
|
||||||
|
Home 0xc7 localstate
|
||||||
|
End 0xcf localstate
|
||||||
|
Page_Up 0xc9 localstate
|
||||||
|
Page_Down 0xd1 localstate
|
||||||
|
|
||||||
|
#
|
||||||
|
# Arrow keys
|
||||||
|
#
|
||||||
|
Left 0xcb localstate
|
||||||
|
Up 0xc8 localstate
|
||||||
|
Down 0xd0 localstate
|
||||||
|
Right 0xcd localstate
|
||||||
|
|
||||||
|
#
|
||||||
|
# Numpad
|
||||||
|
#
|
||||||
|
Num_Lock 0x45
|
||||||
|
KP_Divide 0xb5
|
||||||
|
KP_Multiply 0x37
|
||||||
|
KP_Subtract 0x4a
|
||||||
|
KP_Add 0x4e
|
||||||
|
KP_Enter 0x9c
|
||||||
|
|
||||||
|
KP_Decimal 0x53 numlock
|
||||||
|
KP_Separator 0x53 numlock
|
||||||
|
KP_Delete 0x53
|
||||||
|
|
||||||
|
KP_0 0x52 numlock
|
||||||
|
KP_Insert 0x52
|
||||||
|
|
||||||
|
KP_1 0x4f numlock
|
||||||
|
KP_End 0x4f
|
||||||
|
|
||||||
|
KP_2 0x50 numlock
|
||||||
|
KP_Down 0x50
|
||||||
|
|
||||||
|
KP_3 0x51 numlock
|
||||||
|
KP_Next 0x51
|
||||||
|
|
||||||
|
KP_4 0x4b numlock
|
||||||
|
KP_Left 0x4b
|
||||||
|
|
||||||
|
KP_5 0x4c numlock
|
||||||
|
KP_Begin 0x4c
|
||||||
|
|
||||||
|
KP_6 0x4d numlock
|
||||||
|
KP_Right 0x4d
|
||||||
|
|
||||||
|
KP_7 0x47 numlock
|
||||||
|
KP_Home 0x47
|
||||||
|
|
||||||
|
KP_8 0x48 numlock
|
||||||
|
KP_Up 0x48
|
||||||
|
|
||||||
|
KP_9 0x49 numlock
|
||||||
|
KP_Prior 0x49
|
||||||
|
|
||||||
|
Caps_Lock 0x3a
|
||||||
|
#
|
||||||
|
# Inhibited keys
|
||||||
|
#
|
||||||
|
Multi_key 0x0 inhibit
|
||||||
|
|
||||||
#
|
#
|
||||||
# Top row
|
# Top row
|
||||||
|
36
ui/console.c
36
ui/console.c
@ -1385,42 +1385,6 @@ DisplaySurface *qemu_create_displaysurface_pixman(pixman_image_t *image)
|
|||||||
return surface;
|
return surface;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void qemu_unmap_displaysurface_guestmem(pixman_image_t *image,
|
|
||||||
void *unused)
|
|
||||||
{
|
|
||||||
void *data = pixman_image_get_data(image);
|
|
||||||
uint32_t size = pixman_image_get_stride(image) *
|
|
||||||
pixman_image_get_height(image);
|
|
||||||
cpu_physical_memory_unmap(data, size, 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
DisplaySurface *qemu_create_displaysurface_guestmem(int width, int height,
|
|
||||||
pixman_format_code_t format,
|
|
||||||
int linesize, uint64_t addr)
|
|
||||||
{
|
|
||||||
DisplaySurface *surface;
|
|
||||||
hwaddr size;
|
|
||||||
void *data;
|
|
||||||
|
|
||||||
if (linesize == 0) {
|
|
||||||
linesize = width * PIXMAN_FORMAT_BPP(format) / 8;
|
|
||||||
}
|
|
||||||
|
|
||||||
size = (hwaddr)linesize * height;
|
|
||||||
data = cpu_physical_memory_map(addr, &size, 0);
|
|
||||||
if (size != (hwaddr)linesize * height) {
|
|
||||||
cpu_physical_memory_unmap(data, size, 0, 0);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
surface = qemu_create_displaysurface_from
|
|
||||||
(width, height, format, linesize, data);
|
|
||||||
pixman_image_set_destroy_function
|
|
||||||
(surface->image, qemu_unmap_displaysurface_guestmem, NULL);
|
|
||||||
|
|
||||||
return surface;
|
|
||||||
}
|
|
||||||
|
|
||||||
DisplaySurface *qemu_create_message_surface(int w, int h,
|
DisplaySurface *qemu_create_message_surface(int w, int h,
|
||||||
const char *msg)
|
const char *msg)
|
||||||
{
|
{
|
||||||
|
@ -38,6 +38,14 @@ static void egl_gfx_switch(DisplayChangeListener *dcl,
|
|||||||
edpy->ds = new_surface;
|
edpy->ds = new_surface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static QEMUGLContext egl_create_context(DisplayChangeListener *dcl,
|
||||||
|
QEMUGLParams *params)
|
||||||
|
{
|
||||||
|
eglMakeCurrent(qemu_egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE,
|
||||||
|
qemu_egl_rn_ctx);
|
||||||
|
return qemu_egl_create_context(dcl, params);
|
||||||
|
}
|
||||||
|
|
||||||
static void egl_scanout_disable(DisplayChangeListener *dcl)
|
static void egl_scanout_disable(DisplayChangeListener *dcl)
|
||||||
{
|
{
|
||||||
egl_dpy *edpy = container_of(dcl, egl_dpy, dcl);
|
egl_dpy *edpy = container_of(dcl, egl_dpy, dcl);
|
||||||
@ -150,7 +158,7 @@ static const DisplayChangeListenerOps egl_ops = {
|
|||||||
.dpy_gfx_update = egl_gfx_update,
|
.dpy_gfx_update = egl_gfx_update,
|
||||||
.dpy_gfx_switch = egl_gfx_switch,
|
.dpy_gfx_switch = egl_gfx_switch,
|
||||||
|
|
||||||
.dpy_gl_ctx_create = qemu_egl_create_context,
|
.dpy_gl_ctx_create = egl_create_context,
|
||||||
.dpy_gl_ctx_destroy = qemu_egl_destroy_context,
|
.dpy_gl_ctx_destroy = qemu_egl_destroy_context,
|
||||||
.dpy_gl_ctx_make_current = qemu_egl_make_context_current,
|
.dpy_gl_ctx_make_current = qemu_egl_make_context_current,
|
||||||
.dpy_gl_ctx_get_current = qemu_egl_get_current_context,
|
.dpy_gl_ctx_get_current = qemu_egl_get_current_context,
|
||||||
|
@ -115,10 +115,9 @@ static int parse_keyboard_layout(kbd_layout_t *k,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!strncmp(line, "include ", 8)) {
|
if (!strncmp(line, "include ", 8)) {
|
||||||
if (parse_keyboard_layout(k, table, line + 8, errp) < 0) {
|
error_setg(errp, "keymap include files are not supported any more");
|
||||||
ret = -1;
|
ret = -1;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
while (line[offset] != 0 &&
|
while (line[offset] != 0 &&
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include <spice.h>
|
#include <spice.h>
|
||||||
|
|
||||||
#include <netdb.h>
|
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
|
|
||||||
#include "ui/qemu-spice.h"
|
#include "ui/qemu-spice.h"
|
||||||
@ -745,13 +744,7 @@ void qemu_spice_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (qemu_opt_get_bool(opts, "disable-agent-file-xfer", 0)) {
|
if (qemu_opt_get_bool(opts, "disable-agent-file-xfer", 0)) {
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c04
|
|
||||||
spice_server_set_agent_file_xfer(spice_server, false);
|
spice_server_set_agent_file_xfer(spice_server, false);
|
||||||
#else
|
|
||||||
error_report("this qemu build does not support the "
|
|
||||||
"\"disable-agent-file-xfer\" option");
|
|
||||||
exit(1);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
compression = SPICE_IMAGE_COMPRESS_AUTO_GLZ;
|
compression = SPICE_IMAGE_COMPRESS_AUTO_GLZ;
|
||||||
@ -817,9 +810,7 @@ void qemu_spice_init(void)
|
|||||||
g_free(x509_cert_file);
|
g_free(x509_cert_file);
|
||||||
g_free(x509_cacert_file);
|
g_free(x509_cacert_file);
|
||||||
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
qemu_spice_register_ports();
|
qemu_spice_register_ports();
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_SPICE_GL
|
#ifdef HAVE_SPICE_GL
|
||||||
if (qemu_opt_get_bool(opts, "gl", 0)) {
|
if (qemu_opt_get_bool(opts, "gl", 0)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user