Merge remote-tracking branch 'remotes/kraxel/tags/seabios-1.12.1-20190318-pull-request' into staging
seabios update for 4.0
# gpg: Signature made Mon 18 Mar 2019 13:07:53 GMT
# gpg: using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/seabios-1.12.1-20190318-pull-request:
seabios: update binaries to 1.12.1
seabios: turn off CONFIG_ATA_DMA
seabios: update submodule to 1.12.1
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
diff --git a/audio/paaudio.c b/audio/paaudio.c
index 5d410ed..45295b4 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
@@ -549,12 +549,8 @@
ss.channels = as->nchannels;
ss.rate = as->freq;
- /*
- * qemu audio tick runs at 100 Hz (by default), so processing
- * data chunks worth 10 ms of sound should be a good fit.
- */
- ba.tlength = pa_usec_to_bytes (10 * 1000, &ss);
- ba.minreq = pa_usec_to_bytes (5 * 1000, &ss);
+ ba.tlength = pa_usec_to_bytes(ppdo->latency, &ss);
+ ba.minreq = -1;
ba.maxlength = -1;
ba.prebuf = -1;
@@ -577,7 +573,8 @@
audio_pcm_init_info (&hw->info, &obt_as);
hw->samples = pa->samples = audio_buffer_samples(
- qapi_AudiodevPaPerDirectionOptions_base(ppdo), &obt_as, 46440);
+ qapi_AudiodevPaPerDirectionOptions_base(ppdo),
+ &obt_as, ppdo->buffer_length);
pa->pcm_buf = audio_calloc(__func__, hw->samples, 1 << hw->info.shift);
pa->rpos = hw->rpos;
if (!pa->pcm_buf) {
@@ -608,6 +605,7 @@
{
int error;
pa_sample_spec ss;
+ pa_buffer_attr ba;
struct audsettings obt_as = *as;
PAVoiceIn *pa = (PAVoiceIn *) hw;
paaudio *g = pa->g = drv_opaque;
@@ -618,6 +616,11 @@
ss.channels = as->nchannels;
ss.rate = as->freq;
+ ba.fragsize = pa_usec_to_bytes(ppdo->latency, &ss);
+ ba.maxlength = -1;
+ ba.minreq = -1;
+ ba.prebuf = -1;
+
obt_as.fmt = pa_to_audfmt (ss.format, &obt_as.endianness);
pa->stream = qpa_simple_new (
@@ -627,7 +630,7 @@
ppdo->has_name ? ppdo->name : NULL,
&ss,
NULL, /* channel map */
- NULL, /* buffering attributes */
+ &ba, /* buffering attributes */
&error
);
if (!pa->stream) {
@@ -637,7 +640,8 @@
audio_pcm_init_info (&hw->info, &obt_as);
hw->samples = pa->samples = audio_buffer_samples(
- qapi_AudiodevPaPerDirectionOptions_base(ppdo), &obt_as, 46440);
+ qapi_AudiodevPaPerDirectionOptions_base(ppdo),
+ &obt_as, ppdo->buffer_length);
pa->pcm_buf = audio_calloc(__func__, hw->samples, 1 << hw->info.shift);
pa->wpos = hw->wpos;
if (!pa->pcm_buf) {
@@ -809,7 +813,20 @@
return 0;
}
-/* common */
+static int qpa_validate_per_direction_opts(Audiodev *dev,
+ AudiodevPaPerDirectionOptions *pdo)
+{
+ if (!pdo->has_buffer_length) {
+ pdo->has_buffer_length = true;
+ pdo->buffer_length = 46440;
+ }
+ if (!pdo->has_latency) {
+ pdo->has_latency = true;
+ pdo->latency = 15000;
+ }
+ return 1;
+}
+
static void *qpa_audio_init(Audiodev *dev)
{
paaudio *g;
@@ -836,6 +853,13 @@
g = g_malloc(sizeof(paaudio));
server = popts->has_server ? popts->server : NULL;
+ if (!qpa_validate_per_direction_opts(dev, popts->in)) {
+ goto fail;
+ }
+ if (!qpa_validate_per_direction_opts(dev, popts->out)) {
+ goto fail;
+ }
+
g->dev = dev;
g->mainloop = NULL;
g->context = NULL;
diff --git a/pc-bios/keymaps/Makefile b/pc-bios/keymaps/Makefile
index f0e44fd..76217b0 100644
--- a/pc-bios/keymaps/Makefile
+++ b/pc-bios/keymaps/Makefile
@@ -9,7 +9,7 @@
bepo : MAP_FLAGS := -l fr -v dvorak
cz : MAP_FLAGS := -l cz
da : MAP_FLAGS := -l dk
-de : MAP_FLAGS := -l de
+de : MAP_FLAGS := -l de -v nodeadkeys
de-ch : MAP_FLAGS := -l ch
en-us : MAP_FLAGS := -l us
en-gb : MAP_FLAGS := -l gb
@@ -17,7 +17,7 @@
et : MAP_FLAGS := -l et
fi : MAP_FLAGS := -l fi
fo : MAP_FLAGS := -l fo
-fr : MAP_FLAGS := -l fr
+fr : MAP_FLAGS := -l fr -v nodeadkeys
fr-be : MAP_FLAGS := -l be
fr-ca : MAP_FLAGS := -l ca -v fr
fr-ch : MAP_FLAGS := -l ch -v fr
diff --git a/pc-bios/keymaps/ar b/pc-bios/keymaps/ar
index a763c9a..f62b297 100644
--- a/pc-bios/keymaps/ar
+++ b/pc-bios/keymaps/ar
@@ -36,50 +36,65 @@
# evdev 2 (0x2), QKeyCode "1", number 0x2
1 0x02
exclam 0x02 shift
+Arabic_1 0x02 altgr
# evdev 3 (0x3), QKeyCode "2", number 0x3
2 0x03
at 0x03 shift
+Arabic_2 0x03 altgr
# evdev 4 (0x4), QKeyCode "3", number 0x4
3 0x04
numbersign 0x04 shift
+Arabic_3 0x04 altgr
# evdev 5 (0x5), QKeyCode "4", number 0x5
4 0x05
dollar 0x05 shift
+Arabic_4 0x05 altgr
# evdev 6 (0x6), QKeyCode "5", number 0x6
5 0x06
percent 0x06 shift
+Arabic_5 0x06 altgr
+U2030 0x06 shift altgr
# evdev 7 (0x7), QKeyCode "6", number 0x7
6 0x07
asciicircum 0x07 shift
+Arabic_6 0x07 altgr
# evdev 8 (0x8), QKeyCode "7", number 0x8
7 0x08
ampersand 0x08 shift
+Arabic_7 0x08 altgr
# evdev 9 (0x9), QKeyCode "8", number 0x9
8 0x09
asterisk 0x09 shift
+Arabic_8 0x09 altgr
# evdev 10 (0xa), QKeyCode "9", number 0xa
9 0x0a
parenright 0x0a shift
+Arabic_9 0x0a altgr
# evdev 11 (0xb), QKeyCode "0", number 0xb
0 0x0b
parenleft 0x0b shift
+Arabic_0 0x0b altgr
# evdev 12 (0xc), QKeyCode "minus", number 0xc
minus 0x0c
underscore 0x0c shift
+endash 0x0c altgr
+U2011 0x0c shift altgr
# evdev 13 (0xd), QKeyCode "equal", number 0xd
equal 0x0d
plus 0x0d shift
+notequal 0x0d altgr
+approxeq 0x0d shift altgr
# evdev 14 (0xe), QKeyCode "backspace", number 0xe
BackSpace 0x0e
@@ -91,18 +106,22 @@
# evdev 16 (0x10), QKeyCode "q", number 0x10
Arabic_dad 0x10
Arabic_fatha 0x10 shift
+U2066 0x10 shift altgr
# evdev 17 (0x11), QKeyCode "w", number 0x11
Arabic_sad 0x11
Arabic_fathatan 0x11 shift
+U2067 0x11 shift altgr
# evdev 18 (0x12), QKeyCode "e", number 0x12
Arabic_theh 0x12
Arabic_damma 0x12 shift
+U2068 0x12 shift altgr
# evdev 19 (0x13), QKeyCode "r", number 0x13
Arabic_qaf 0x13
Arabic_dammatan 0x13 shift
+U2069 0x13 shift altgr
# evdev 20 (0x14), QKeyCode "t", number 0x14
Arabic_feh 0x14
@@ -112,14 +131,17 @@
# evdev 21 (0x15), QKeyCode "y", number 0x15
Arabic_ghain 0x15
Arabic_hamzaunderalef 0x15 shift
+U202A 0x15 shift altgr
# evdev 22 (0x16), QKeyCode "u", number 0x16
Arabic_ain 0x16
grave 0x16 shift
+U202B 0x16 shift altgr
# evdev 23 (0x17), QKeyCode "i", number 0x17
Arabic_ha 0x17
division 0x17 shift
+U202C 0x17 shift altgr
# evdev 24 (0x18), QKeyCode "o", number 0x18
Arabic_khah 0x18
@@ -128,15 +150,18 @@
# evdev 25 (0x19), QKeyCode "p", number 0x19
Arabic_hah 0x19
Arabic_semicolon 0x19 shift
+U200E 0x19 shift altgr
# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a
Arabic_jeem 0x1a
less 0x1a shift
Arabic_tcheh 0x1a altgr
+U200F 0x1a shift altgr
# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b
Arabic_dal 0x1b
greater 0x1b shift
+U061C 0x1b shift altgr
# evdev 28 (0x1c), QKeyCode "ret", number 0x1c
Return 0x1c
@@ -177,6 +202,7 @@
# evdev 37 (0x25), QKeyCode "k", number 0x25
Arabic_noon 0x25
Arabic_comma 0x25 shift
+U066B 0x25 altgr
# evdev 38 (0x26), QKeyCode "l", number 0x26
Arabic_meem 0x26
@@ -190,27 +216,35 @@
# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28
Arabic_tah 0x28
quotedbl 0x28 shift
+U27E9 0x28 altgr
+U200D 0x28 shift altgr
# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29
Arabic_thal 0x29
Arabic_shadda 0x29 shift
+Arabic_percent 0x29 altgr
+U0609 0x29 shift altgr
# evdev 42 (0x2a), QKeyCode "shift", number 0x2a
Shift_L 0x2a
# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b
backslash 0x2b
-bar 0x2b shift
+ellipsis 0x2b shift
+U27E8 0x2b altgr
+U202F 0x2b shift altgr
# evdev 44 (0x2c), QKeyCode "z", number 0x2c
Arabic_hamzaonyeh 0x2c
asciitilde 0x2c shift
guillemotright 0x2c altgr
+U203A 0x2c shift altgr
# evdev 45 (0x2d), QKeyCode "x", number 0x2d
Arabic_hamza 0x2d
Arabic_sukun 0x2d shift
guillemotleft 0x2d altgr
+U2039 0x2d shift altgr
# evdev 46 (0x2e), QKeyCode "c", number 0x2e
Arabic_hamzaonwaw 0x2e
@@ -236,14 +270,18 @@
# evdev 51 (0x33), QKeyCode "comma", number 0x33
Arabic_waw 0x33
comma 0x33 shift
+U066C 0x33 altgr
# evdev 52 (0x34), QKeyCode "dot", number 0x34
Arabic_zain 0x34
period 0x34 shift
+Arabic_jeh 0x34 altgr
# evdev 53 (0x35), QKeyCode "slash", number 0x35
Arabic_zah 0x35
Arabic_question_mark 0x35 shift
+U066D 0x35 altgr
+U200C 0x35 shift altgr
# evdev 54 (0x36), QKeyCode "shift_r", number 0x36
Shift_R 0x36
@@ -371,9 +409,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -390,8 +430,7 @@
Print 0x54
# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8
-Alt_R 0xb8
-Meta_R 0xb8 shift
+ISO_Level3_Shift 0xb8
# evdev 101 (0x65), QKeyCode "lf", number 0x5b
Linefeed 0x5b
@@ -733,6 +772,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/bepo b/pc-bios/keymaps/bepo
index dbe8daa..2292cbc 100644
--- a/pc-bios/keymaps/bepo
+++ b/pc-bios/keymaps/bepo
@@ -399,9 +399,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -761,6 +763,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/cz b/pc-bios/keymaps/cz
index 46b3775..29cf2b0 100644
--- a/pc-bios/keymaps/cz
+++ b/pc-bios/keymaps/cz
@@ -456,9 +456,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -817,6 +819,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/da b/pc-bios/keymaps/da
index f7cdad7..547d8c7 100644
--- a/pc-bios/keymaps/da
+++ b/pc-bios/keymaps/da
@@ -455,9 +455,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -816,6 +818,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym 0x0edd0160)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym 0x0edd0270)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/de b/pc-bios/keymaps/de
index d0b4715..261243e 100644
--- a/pc-bios/keymaps/de
+++ b/pc-bios/keymaps/de
@@ -2,10 +2,10 @@
# generated by qemu-keymap
# model : pc105
# layout : de
-# variant : -
+# variant : nodeadkeys
# options : -
-# name: "German"
+# name: "German (no dead keys)"
# modifiers
# 0: Shift
@@ -100,10 +100,9 @@
questiondown 0x0c shift altgr
# evdev 13 (0xd), QKeyCode "equal", number 0xd
-dead_acute 0x0d
-dead_grave 0x0d shift
-dead_cedilla 0x0d altgr
-dead_ogonek 0x0d shift altgr
+acute 0x0d
+grave 0x0d shift
+cedilla 0x0d altgr
# evdev 14 (0xe), QKeyCode "backspace", number 0xe
BackSpace 0x0e
@@ -174,8 +173,7 @@
# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a
udiaeresis 0x1a
Udiaeresis 0x1a shift
-dead_diaeresis 0x1a altgr
-dead_abovering 0x1a shift altgr
+diaeresis 0x1a altgr
# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b
plus 0x1b
@@ -246,20 +244,17 @@
# evdev 39 (0x27), QKeyCode "semicolon", number 0x27
odiaeresis 0x27
Odiaeresis 0x27 shift
-dead_doubleacute 0x27 altgr
-dead_belowdot 0x27 shift altgr
+doubleacute 0x27 altgr
# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28
adiaeresis 0x28
Adiaeresis 0x28 shift
-dead_circumflex 0x28 altgr
-dead_caron 0x28 shift altgr
+asciicircum 0x28 altgr
# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29
-dead_circumflex 0x29
+asciicircum 0x29
degree 0x29 shift
-U2032 0x29 altgr
-U2033 0x29 shift altgr
+notsign 0x29 altgr
# evdev 42 (0x2a), QKeyCode "shift", number 0x2a
Shift_L 0x2a
@@ -268,7 +263,7 @@
numbersign 0x2b
apostrophe 0x2b shift
rightsinglequotemark 0x2b altgr
-dead_breve 0x2b shift altgr
+grave 0x2b shift altgr
# evdev 44 (0x2c), QKeyCode "z", number 0x2c
y 0x2c
@@ -440,7 +435,7 @@
less 0x56
greater 0x56 shift
bar 0x56 altgr
-brokenbar 0x56 shift altgr
+dead_belowmacron 0x56 shift altgr
# evdev 87 (0x57), QKeyCode "f11", number 0x57
F11 0x57
@@ -458,9 +453,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -819,6 +816,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/de-ch b/pc-bios/keymaps/de-ch
index ad37f6c..ed3da05 100644
--- a/pc-bios/keymaps/de-ch
+++ b/pc-bios/keymaps/de-ch
@@ -455,9 +455,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -816,6 +818,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/en-gb b/pc-bios/keymaps/en-gb
index 999cca7..18d8fce 100644
--- a/pc-bios/keymaps/en-gb
+++ b/pc-bios/keymaps/en-gb
@@ -453,9 +453,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -815,6 +817,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/en-us b/pc-bios/keymaps/en-us
index a70e03a..06762cf 100644
--- a/pc-bios/keymaps/en-us
+++ b/pc-bios/keymaps/en-us
@@ -365,9 +365,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -727,6 +729,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/es b/pc-bios/keymaps/es
index 53e66e8..fde4414 100644
--- a/pc-bios/keymaps/es
+++ b/pc-bios/keymaps/es
@@ -454,9 +454,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -815,6 +817,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/et b/pc-bios/keymaps/et
index 7bed679..a5dcbd1 100644
--- a/pc-bios/keymaps/et
+++ b/pc-bios/keymaps/et
@@ -363,9 +363,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -725,6 +727,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/fi b/pc-bios/keymaps/fi
index 1c7653d..8167494 100644
--- a/pc-bios/keymaps/fi
+++ b/pc-bios/keymaps/fi
@@ -429,9 +429,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -790,6 +792,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/fo b/pc-bios/keymaps/fo
index e69575b..8bb6f97 100644
--- a/pc-bios/keymaps/fo
+++ b/pc-bios/keymaps/fo
@@ -456,9 +456,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -817,6 +819,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/fr b/pc-bios/keymaps/fr
index 5b25227..82ca812 100644
--- a/pc-bios/keymaps/fr
+++ b/pc-bios/keymaps/fr
@@ -2,10 +2,10 @@
# generated by qemu-keymap
# model : pc105
# layout : fr
-# variant : -
+# variant : nodeadkeys
# options : -
-# name: "French"
+# name: "French (no dead keys)"
# modifiers
# 0: Shift
@@ -103,7 +103,7 @@
equal 0x0d
plus 0x0d shift
braceright 0x0d altgr
-dead_ogonek 0x0d shift altgr
+ogonek 0x0d shift altgr
# evdev 14 (0xe), QKeyCode "backspace", number 0xe
BackSpace 0x0e
@@ -173,8 +173,8 @@
THORN 0x19 shift altgr
# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a
-dead_circumflex 0x1a
-dead_diaeresis 0x1a shift
+asciicircum 0x1a
+diaeresis 0x1a shift
dead_diaeresis 0x1a altgr
dead_abovering 0x1a shift altgr
@@ -182,7 +182,7 @@
dollar 0x1b
sterling 0x1b shift
currency 0x1b altgr
-dead_macron 0x1b shift altgr
+macron 0x1b shift altgr
# evdev 28 (0x1c), QKeyCode "ret", number 0x1c
Return 0x1c
@@ -253,8 +253,8 @@
# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28
ugrave 0x28
percent 0x28 shift
-dead_circumflex 0x28 altgr
-dead_caron 0x28 shift altgr
+asciicircum 0x28 altgr
+caron 0x28 shift altgr
# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29
twosuperior 0x29
@@ -267,8 +267,8 @@
# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b
asterisk 0x2b
mu 0x2b shift
-dead_grave 0x2b altgr
-dead_breve 0x2b shift altgr
+grave 0x2b altgr
+breve 0x2b shift altgr
# evdev 44 (0x2c), QKeyCode "z", number 0x2c
w 0x2c
@@ -307,8 +307,8 @@
# evdev 50 (0x32), QKeyCode "m", number 0x32
comma 0x32
question 0x32 shift
-dead_acute 0x32 altgr
-dead_doubleacute 0x32 shift altgr
+acute 0x32 altgr
+doubleacute 0x32 shift altgr
# evdev 51 (0x33), QKeyCode "comma", number 0x33
semicolon 0x33
@@ -326,7 +326,7 @@
exclam 0x35
section 0x35 shift
dead_belowdot 0x35 altgr
-dead_abovedot 0x35 shift altgr
+abovedot 0x35 shift altgr
# evdev 54 (0x36), QKeyCode "shift_r", number 0x36
Shift_R 0x36
@@ -456,9 +456,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -817,6 +819,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/fr-be b/pc-bios/keymaps/fr-be
index 9d2ac5d..f225f17 100644
--- a/pc-bios/keymaps/fr-be
+++ b/pc-bios/keymaps/fr-be
@@ -455,9 +455,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -816,6 +818,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/fr-ca b/pc-bios/keymaps/fr-ca
index 736897b..f264d0a 100644
--- a/pc-bios/keymaps/fr-ca
+++ b/pc-bios/keymaps/fr-ca
@@ -387,9 +387,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -748,6 +750,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/fr-ch b/pc-bios/keymaps/fr-ch
index 40e1fef..bdd944d 100644
--- a/pc-bios/keymaps/fr-ch
+++ b/pc-bios/keymaps/fr-ch
@@ -455,9 +455,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -816,6 +818,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/hr b/pc-bios/keymaps/hr
index 6b89f09..252936c 100644
--- a/pc-bios/keymaps/hr
+++ b/pc-bios/keymaps/hr
@@ -456,9 +456,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -817,6 +819,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/hu b/pc-bios/keymaps/hu
index a6bd66d..8531476 100644
--- a/pc-bios/keymaps/hu
+++ b/pc-bios/keymaps/hu
@@ -455,9 +455,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -816,6 +818,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym 0x0a865600)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym 0x0a865710)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/is b/pc-bios/keymaps/is
index 063675d..c88fa60 100644
--- a/pc-bios/keymaps/is
+++ b/pc-bios/keymaps/is
@@ -456,9 +456,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -817,6 +819,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/it b/pc-bios/keymaps/it
index abc3ed1..df00156 100644
--- a/pc-bios/keymaps/it
+++ b/pc-bios/keymaps/it
@@ -459,9 +459,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -820,6 +822,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/ja b/pc-bios/keymaps/ja
index aae93e8..6eb2e7b 100644
--- a/pc-bios/keymaps/ja
+++ b/pc-bios/keymaps/ja
@@ -367,9 +367,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -731,6 +733,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/lt b/pc-bios/keymaps/lt
index 4101367..db9b24f 100644
--- a/pc-bios/keymaps/lt
+++ b/pc-bios/keymaps/lt
@@ -454,9 +454,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -815,6 +817,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/lv b/pc-bios/keymaps/lv
index 27260ce..54997ce 100644
--- a/pc-bios/keymaps/lv
+++ b/pc-bios/keymaps/lv
@@ -429,9 +429,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -790,6 +792,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/mk b/pc-bios/keymaps/mk
index 30a597c..cb362b6 100644
--- a/pc-bios/keymaps/mk
+++ b/pc-bios/keymaps/mk
@@ -365,9 +365,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -727,6 +729,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/nl b/pc-bios/keymaps/nl
index ae7c8f5..1579829 100644
--- a/pc-bios/keymaps/nl
+++ b/pc-bios/keymaps/nl
@@ -456,9 +456,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -817,6 +819,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/no b/pc-bios/keymaps/no
index 8afd199..cd634e7 100644
--- a/pc-bios/keymaps/no
+++ b/pc-bios/keymaps/no
@@ -467,9 +467,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -831,6 +833,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym 0x00408160)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym 0x00408270)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/pl b/pc-bios/keymaps/pl
index df27206..30d93ca 100644
--- a/pc-bios/keymaps/pl
+++ b/pc-bios/keymaps/pl
@@ -460,9 +460,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -821,6 +823,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/pt b/pc-bios/keymaps/pt
index ab59001..c34d6e3 100644
--- a/pc-bios/keymaps/pt
+++ b/pc-bios/keymaps/pt
@@ -453,9 +453,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -814,6 +816,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/pt-br b/pc-bios/keymaps/pt-br
index fe9ec81..2d409c0 100644
--- a/pc-bios/keymaps/pt-br
+++ b/pc-bios/keymaps/pt-br
@@ -453,9 +453,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -814,6 +816,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/ru b/pc-bios/keymaps/ru
index 7566052..9502ba1 100644
--- a/pc-bios/keymaps/ru
+++ b/pc-bios/keymaps/ru
@@ -366,9 +366,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -728,6 +730,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/th b/pc-bios/keymaps/th
index 56a0135..b8298d9 100644
--- a/pc-bios/keymaps/th
+++ b/pc-bios/keymaps/th
@@ -365,9 +365,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -727,6 +729,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/pc-bios/keymaps/tr b/pc-bios/keymaps/tr
index 4d1a4c3..8ef60a6 100644
--- a/pc-bios/keymaps/tr
+++ b/pc-bios/keymaps/tr
@@ -449,9 +449,11 @@
# evdev 92 (0x5c), QKeyCode "henkan", number 0x79
Henkan_Mode 0x79
-# evdev 93 (0x5d): no evdev -> QKeyCode mapping (xkb keysym Hiragana_Katakana)
+# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70
+Hiragana_Katakana 0x70
-# evdev 94 (0x5e): no evdev -> QKeyCode mapping (xkb keysym Muhenkan)
+# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b
+Muhenkan 0x7b
# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
@@ -810,6 +812,10 @@
# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
+# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
+# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid)
+
#
# quirks section start
#
diff --git a/qapi/audio.json b/qapi/audio.json
index 97aee37..9fefdf5 100644
--- a/qapi/audio.json
+++ b/qapi/audio.json
@@ -206,12 +206,16 @@
#
# @name: name of the sink/source to use
#
+# @latency: latency you want PulseAudio to achieve in microseconds
+# (default 15000)
+#
# Since: 4.0
##
{ 'struct': 'AudiodevPaPerDirectionOptions',
'base': 'AudiodevPerDirectionOptions',
'data': {
- '*name': 'str' } }
+ '*name': 'str',
+ '*latency': 'uint32' } }
##
# @AudiodevPaOptions:
diff --git a/target/riscv/insn_trans/trans_rvc.inc.c b/target/riscv/insn_trans/trans_rvc.inc.c
index bcdf64d..5819f53 100644
--- a/target/riscv/insn_trans/trans_rvc.inc.c
+++ b/target/riscv/insn_trans/trans_rvc.inc.c
@@ -44,10 +44,19 @@
{
#ifdef TARGET_RISCV32
/* C.FLW ( RV32FC-only ) */
- return false;
+ REQUIRE_FPU;
+ REQUIRE_EXT(ctx, RVF);
+
+ arg_c_lw tmp;
+ decode_insn16_extract_cl_w(&tmp, ctx->opcode);
+ arg_flw arg = { .rd = tmp.rd, .rs1 = tmp.rs1, .imm = tmp.uimm };
+ return trans_flw(ctx, &arg);
#else
/* C.LD ( RV64C/RV128C-only ) */
- return false;
+ arg_c_fld tmp;
+ decode_insn16_extract_cl_d(&tmp, ctx->opcode);
+ arg_ld arg = { .rd = tmp.rd, .rs1 = tmp.rs1, .imm = tmp.uimm };
+ return trans_ld(ctx, &arg);
#endif
}
@@ -67,10 +76,19 @@
{
#ifdef TARGET_RISCV32
/* C.FSW ( RV32FC-only ) */
- return false;
+ REQUIRE_FPU;
+ REQUIRE_EXT(ctx, RVF);
+
+ arg_c_sw tmp;
+ decode_insn16_extract_cs_w(&tmp, ctx->opcode);
+ arg_fsw arg = { .rs1 = tmp.rs1, .rs2 = tmp.rs2, .imm = tmp.uimm };
+ return trans_fsw(ctx, &arg);
#else
/* C.SD ( RV64C/RV128C-only ) */
- return false;
+ arg_c_fsd tmp;
+ decode_insn16_extract_cs_d(&tmp, ctx->opcode);
+ arg_sd arg = { .rs1 = tmp.rs1, .rs2 = tmp.rs2, .imm = tmp.uimm };
+ return trans_sd(ctx, &arg);
#endif
}
@@ -88,7 +106,9 @@
{
#ifdef TARGET_RISCV32
/* C.JAL */
- arg_jal arg = { .rd = 1, .imm = a->imm };
+ arg_c_j tmp;
+ decode_insn16_extract_cj(&tmp, ctx->opcode);
+ arg_jal arg = { .rd = 1, .imm = tmp.imm };
return trans_jal(ctx, &arg);
#else
/* C.ADDIW */
diff --git a/ui/curses.c b/ui/curses.c
index 3a7e864..cc6d6da 100644
--- a/ui/curses.c
+++ b/ui/curses.c
@@ -75,9 +75,9 @@
if (vga_to_curses[ch].chars[0]) {
curses_line[x] = vga_to_curses[ch];
} else {
- curses_line[x].chars[0] = ch;
- curses_line[x].chars[1] = 0;
- curses_line[x].attr = 0;
+ curses_line[x] = (cchar_t) {
+ .chars[0] = ch,
+ };
}
curses_line[x].attr |= at;
}
@@ -519,6 +519,7 @@
wchar_to_ucs_conv = iconv_open("UCS-2", "WCHAR_T");
if (wchar_to_ucs_conv == (iconv_t) -1) {
+ iconv_close(ucs_to_wchar_conv);
fprintf(stderr, "Could not convert font glyphs to UCS-2: '%s'\n",
strerror(errno));
exit(1);
@@ -526,6 +527,8 @@
font_conv = iconv_open("WCHAR_T", font_charset);
if (font_conv == (iconv_t) -1) {
+ iconv_close(ucs_to_wchar_conv);
+ iconv_close(wchar_to_ucs_conv);
fprintf(stderr, "Could not convert font glyphs from %s: '%s'\n",
font_charset, strerror(errno));
exit(1);
@@ -646,6 +649,9 @@
}
}
}
+ iconv_close(ucs_to_wchar_conv);
+ iconv_close(wchar_to_ucs_conv);
+ iconv_close(font_conv);
}
static void curses_setup(void)
diff --git a/ui/vnc-enc-tight.c b/ui/vnc-enc-tight.c
index 0b4a5ac7..d20cd1d 100644
--- a/ui/vnc-enc-tight.c
+++ b/ui/vnc-enc-tight.c
@@ -886,11 +886,11 @@
*/
static void tight_pack24(VncState *vs, uint8_t *buf, size_t count, size_t *ret)
{
- uint32_t *buf32;
+ uint8_t *buf8;
uint32_t pix;
int rshift, gshift, bshift;
- buf32 = (uint32_t *)buf;
+ buf8 = buf;
if (1 /* FIXME */) {
rshift = vs->client_pf.rshift;
@@ -907,10 +907,11 @@
}
while (count--) {
- pix = *buf32++;
+ pix = ldl_he_p(buf8);
*buf++ = (char)(pix >> rshift);
*buf++ = (char)(pix >> gshift);
*buf++ = (char)(pix >> bshift);
+ buf8 += 4;
}
}