diff options
38 files changed, 400 insertions, 121 deletions
diff --git a/audio/paaudio.c b/audio/paaudio.c index 5d410ed73f..45295b4e5e 100644 --- a/audio/paaudio.c +++ b/audio/paaudio.c @@ -549,12 +549,8 @@ static int qpa_init_out(HWVoiceOut *hw, struct audsettings *as, 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 @@ static int qpa_init_out(HWVoiceOut *hw, struct audsettings *as, 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 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque) { 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 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque) 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 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque) ppdo->has_name ? ppdo->name : NULL, &ss, NULL, /* channel map */ - NULL, /* buffering attributes */ + &ba, /* buffering attributes */ &error ); if (!pa->stream) { @@ -637,7 +640,8 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque) 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 @@ static int qpa_ctl_in (HWVoiceIn *hw, int cmd, ...) 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 @@ static void *qpa_audio_init(Audiodev *dev) 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 f0e44fd110..76217b0689 100644 --- a/pc-bios/keymaps/Makefile +++ b/pc-bios/keymaps/Makefile @@ -9,7 +9,7 @@ ar : MAP_FLAGS := -l ar 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 @@ es : MAP_FLAGS := -l es 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 a763c9a027..f62b297c54 100644 --- a/pc-bios/keymaps/ar +++ b/pc-bios/keymaps/ar @@ -36,50 +36,65 @@ Escape 0x01 # 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 @@ ISO_Left_Tab 0x0f shift # 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 @@ Arabic_veh 0x14 altgr # 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 @@ multiply 0x18 shift # 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 @@ Arabic_tatweel 0x24 shift # 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 @@ Arabic_gaf 0x27 altgr # 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 @@ apostrophe 0x32 shift # 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 @@ Hiragana 0x77 # 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 @@ KP_Divide 0xb5 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 @@ XF86AudioMedia 0xed # 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 dbe8daa257..2292cbc499 100644 --- a/pc-bios/keymaps/bepo +++ b/pc-bios/keymaps/bepo @@ -399,9 +399,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 46b37757fe..29cf2b05d8 100644 --- a/pc-bios/keymaps/cz +++ b/pc-bios/keymaps/cz @@ -456,9 +456,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 f7cdad7420..547d8c716b 100644 --- a/pc-bios/keymaps/da +++ b/pc-bios/keymaps/da @@ -455,9 +455,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 d0b4715474..261243edbc 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 @@ backslash 0x0c altgr 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 @@ THORN 0x19 shift altgr # 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 @@ Lstroke 0x26 shift altgr # 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 @@ Shift_L 0x2a 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 @@ KP_Separator 0x53 numlock 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 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 ad37f6cc19..ed3da058e4 100644 --- a/pc-bios/keymaps/de-ch +++ b/pc-bios/keymaps/de-ch @@ -455,9 +455,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 999cca7c71..18d8fce4d4 100644 --- a/pc-bios/keymaps/en-gb +++ b/pc-bios/keymaps/en-gb @@ -453,9 +453,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 a70e03adc0..06762cfc6c 100644 --- a/pc-bios/keymaps/en-us +++ b/pc-bios/keymaps/en-us @@ -365,9 +365,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 53e66e88c7..fde441492d 100644 --- a/pc-bios/keymaps/es +++ b/pc-bios/keymaps/es @@ -454,9 +454,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 7bed679bc9..a5dcbd18ab 100644 --- a/pc-bios/keymaps/et +++ b/pc-bios/keymaps/et @@ -363,9 +363,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 1c7653dc6b..816749421e 100644 --- a/pc-bios/keymaps/fi +++ b/pc-bios/keymaps/fi @@ -429,9 +429,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 e69575bcb7..8bb6f97bba 100644 --- a/pc-bios/keymaps/fo +++ b/pc-bios/keymaps/fo @@ -456,9 +456,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 5b25227455..82ca812c7e 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 @@ questiondown 0x0c shift altgr 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 altgr 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 @@ dead_abovering 0x1a shift altgr 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 @@ masculine 0x27 shift altgr # 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 @@ Shift_L 0x2a # 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 @@ N 0x31 shift # 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 @@ division 0x34 shift altgr 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 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 9d2ac5ddf9..f225f179a2 100644 --- a/pc-bios/keymaps/fr-be +++ b/pc-bios/keymaps/fr-be @@ -455,9 +455,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 736897bc43..f264d0a9c3 100644 --- a/pc-bios/keymaps/fr-ca +++ b/pc-bios/keymaps/fr-ca @@ -387,9 +387,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 40e1fefd54..bdd944da1c 100644 --- a/pc-bios/keymaps/fr-ch +++ b/pc-bios/keymaps/fr-ch @@ -455,9 +455,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 6b89f09922..252936c3ae 100644 --- a/pc-bios/keymaps/hr +++ b/pc-bios/keymaps/hr @@ -456,9 +456,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 a6bd66d08d..853147610a 100644 --- a/pc-bios/keymaps/hu +++ b/pc-bios/keymaps/hu @@ -455,9 +455,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 063675d118..c88fa603aa 100644 --- a/pc-bios/keymaps/is +++ b/pc-bios/keymaps/is @@ -456,9 +456,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 abc3ed15de..df00156cf8 100644 --- a/pc-bios/keymaps/it +++ b/pc-bios/keymaps/it @@ -459,9 +459,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 aae93e8c52..6eb2e7bc20 100644 --- a/pc-bios/keymaps/ja +++ b/pc-bios/keymaps/ja @@ -367,9 +367,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 41013675f8..db9b24f611 100644 --- a/pc-bios/keymaps/lt +++ b/pc-bios/keymaps/lt @@ -454,9 +454,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 27260ce32e..54997ce092 100644 --- a/pc-bios/keymaps/lv +++ b/pc-bios/keymaps/lv @@ -429,9 +429,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 30a597caa2..cb362b6d39 100644 --- a/pc-bios/keymaps/mk +++ b/pc-bios/keymaps/mk @@ -365,9 +365,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 ae7c8f5643..1579829eef 100644 --- a/pc-bios/keymaps/nl +++ b/pc-bios/keymaps/nl @@ -456,9 +456,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 8afd1996b5..cd634e7b90 100644 --- a/pc-bios/keymaps/no +++ b/pc-bios/keymaps/no @@ -467,9 +467,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 df2720622f..30d93ca727 100644 --- a/pc-bios/keymaps/pl +++ b/pc-bios/keymaps/pl @@ -460,9 +460,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 ab590017cf..c34d6e3761 100644 --- a/pc-bios/keymaps/pt +++ b/pc-bios/keymaps/pt @@ -453,9 +453,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 fe9ec81303..2d409c0bc0 100644 --- a/pc-bios/keymaps/pt-br +++ b/pc-bios/keymaps/pt-br @@ -453,9 +453,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 7566052262..9502ba1269 100644 --- a/pc-bios/keymaps/ru +++ b/pc-bios/keymaps/ru @@ -366,9 +366,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 56a01354d6..b8298d902b 100644 --- a/pc-bios/keymaps/th +++ b/pc-bios/keymaps/th @@ -365,9 +365,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 4d1a4c3311..8ef60a60c1 100644 --- a/pc-bios/keymaps/tr +++ b/pc-bios/keymaps/tr @@ -449,9 +449,11 @@ Hiragana 0x77 # 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 @@ XF86AudioMedia 0xed # 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 97aee37288..9fefdf5186 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 bcdf64d3b7..5819f53f90 100644 --- a/target/riscv/insn_trans/trans_rvc.inc.c +++ b/target/riscv/insn_trans/trans_rvc.inc.c @@ -44,10 +44,19 @@ static bool trans_c_flw_ld(DisasContext *ctx, arg_c_flw_ld *a) { #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 @@ static bool trans_c_fsw_sd(DisasContext *ctx, arg_c_fsw_sd *a) { #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 @@ static bool trans_c_jal_addiw(DisasContext *ctx, arg_c_jal_addiw *a) { #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 3a7e8649f3..cc6d6da684 100644 --- a/ui/curses.c +++ b/ui/curses.c @@ -75,9 +75,9 @@ static void curses_update(DisplayChangeListener *dcl, 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 @@ static void font_setup(void) 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 @@ static void font_setup(void) 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 @@ static void font_setup(void) } } } + 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 0b4a5ac71f..d20cd1d86d 100644 --- a/ui/vnc-enc-tight.c +++ b/ui/vnc-enc-tight.c @@ -886,11 +886,11 @@ static int tight_compress_data(VncState *vs, int stream_id, size_t bytes, */ 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 @@ static void tight_pack24(VncState *vs, uint8_t *buf, size_t count, size_t *ret) } while (count--) { - pix = *buf32++; + pix = ldl_he_p(buf8); *buf++ = (char)(pix >> rshift); *buf++ = (char)(pix >> gshift); *buf++ = (char)(pix >> bshift); + buf8 += 4; } } |