From nobody Mon Apr 29 08:40:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513352048223816.6095604697258; Fri, 15 Dec 2017 07:34:08 -0800 (PST) Received: from localhost ([::1]:47145 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePrzf-0004Ha-VR for importer@patchew.org; Fri, 15 Dec 2017 10:33:47 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48405) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePqOY-0000oh-OO for qemu-devel@nongnu.org; Fri, 15 Dec 2017 08:51:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePqOX-0001Jd-Mq for qemu-devel@nongnu.org; Fri, 15 Dec 2017 08:51:22 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:42930) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePqOX-0001J6-HE for qemu-devel@nongnu.org; Fri, 15 Dec 2017 08:51:21 -0500 Received: by mail-qk0-x241.google.com with SMTP id a193so1692394qkc.9 for ; Fri, 15 Dec 2017 05:51:20 -0800 (PST) Received: by 10.140.88.200 with HTTP; Fri, 15 Dec 2017 05:51:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=Iyt0JTwuwWTaCmAiMQJyv2pe/FIqRejJPyUGhddlqFE=; b=Cp5QeDz/jm2/s2T07OTd1L7O3+pobOfCLecUE/QK/BrKMT4Ovo4umdKn5xCjJeL383 EhaWBwHQ191wKienjO5S4PsUHxZbZNXmd+09rKbPpBtVHq7Iqm0KJAsUBN0Y+K8Fq6AV ahojv3BT0WhWw8kY0sa/J5do/wV+US/WSEEgARzgK7cSBx9IjqkxqekbAh3Xv/hiscrB SpAMOG5aX4Eh9OidAr+0MR5XYuOj5TyfrzjNbUGLrYU0ufcD4rdP67OE8sPW4yO2ZDTD KeBKHb0KK4a+vfc2dhxwNwY/kt9apd1MERCyGk29JLIBgix8KEIiCQMhup3z/JFBbJAD iu1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=Iyt0JTwuwWTaCmAiMQJyv2pe/FIqRejJPyUGhddlqFE=; b=LpAfiQf1KOpzw+33URX1MMYwwu9kZ7phGbbMurTmoE1m2sI1U3cG3RyWq2yIiGaK99 D5XkcjO19iOT3Yp97GFihJC9A8Df03zqbT5XZ2b3pl5PkFk7BPBnh0PicTDdk2Fa+qfc uPM1OOdwrc3UCx4QTWnM1elwiBSfZ2BRTkag3ToEvanAYzIw4iFP/iA3NKKyjJ+3uP10 Pw3Ih0OUkygcadbp95ShZhSAn/r1xQE4Oja3fJya+xH0Ymbhs4jUPWN4fnKoye9VE5qg iW/VVRQDmB10EOX1Zq4SAxZsoOqWosRTfB/TcCrqeeHK5Cm5G55HP574RGpnZtNcBlfm UoiQ== X-Gm-Message-State: AKGB3mKeuGiZlfVFsUH+Is0bV3B/gjRe/8hvh81JFyoP21KVIfUF/ZhU eYqHqdHwPJcRSRz7PvsZJRUeVzArvKCHygkOQY58sQ== X-Google-Smtp-Source: ACJfBosAdeL7qfBjyzCITo4tVNVSZTWlfVKxd6PDJikC1f/p6RDP4n2pZBZxGJGKKhPt9FVtXxlnQooFwBorEH9ND4c= X-Received: by 10.55.19.19 with SMTP id d19mr9265987qkh.189.1513345880013; Fri, 15 Dec 2017 05:51:20 -0800 (PST) MIME-Version: 1.0 From: Miika S Date: Fri, 15 Dec 2017 15:51:19 +0200 Message-ID: To: qemu-devel@nongnu.org X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::241 X-Mailman-Approved-At: Fri, 15 Dec 2017 10:32:22 -0500 Subject: [Qemu-devel] Key code conflict in keycodemapdb X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kraxel@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Hi I tried to add JIS keyboard support to virtio-input-hid but ran into a problem with keys that have the "Linux Name" KEY_ISO and KEY_KATAKANAHIRAGANA. The problem appears to be that they have the same "AT set1 keycode" 0x70. I worked around it by removing KEY_ISO from keycodemapdb and got the keys working, but that doesn't work for the rest of QEMU. Is it intended that the keys have the same "AT set1 keycode"? Patch attached (also includes support for some mouse buttons): --- diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c index e78faec0b1..2cac659469 100644 --- a/hw/input/virtio-input-hid.c +++ b/hw/input/virtio-input-hid.c @@ -139,6 +139,13 @@ static const unsigned int keymap_qcode[Q_KEY_CODE__MAX= ] =3D { [Q_KEY_CODE_META_L] =3D KEY_LEFTMETA, [Q_KEY_CODE_META_R] =3D KEY_RIGHTMETA, [Q_KEY_CODE_MENU] =3D KEY_MENU, + + [Q_KEY_CODE_MUHENKAN] =3D KEY_MUHENKAN, + [Q_KEY_CODE_HENKAN] =3D KEY_HENKAN, + [Q_KEY_CODE_KATAKANAHIRAGANA] =3D KEY_KATAKANAHIRAGANA, + [Q_KEY_CODE_COMPOSE] =3D KEY_COMPOSE, + [Q_KEY_CODE_RO] =3D KEY_RO, + [Q_KEY_CODE_YEN] =3D KEY_YEN, }; static const unsigned int keymap_button[INPUT_BUTTON__MAX] =3D { @@ -147,6 +154,8 @@ static const unsigned int keymap_button[INPUT_BUTTON__MAX] =3D { [INPUT_BUTTON_MIDDLE] =3D BTN_MIDDLE, [INPUT_BUTTON_WHEEL_UP] =3D BTN_GEAR_UP, [INPUT_BUTTON_WHEEL_DOWN] =3D BTN_GEAR_DOWN, + [INPUT_BUTTON_SIDE] =3D BTN_SIDE, + [INPUT_BUTTON_EXTRA] =3D BTN_EXTRA, }; static const unsigned int axismap_rel[INPUT_AXIS__MAX] =3D { diff --git a/qapi/ui.json b/qapi/ui.json index 07b468f625..da4be505ac 100644 --- a/qapi/ui.json +++ b/qapi/ui.json @@ -775,7 +775,7 @@ 'left', 'up', 'down', 'right', 'insert', 'delete', 'stop', 'ag= ain', 'props', 'undo', 'front', 'copy', 'open', 'paste', 'find', 'cu= t', 'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause', - 'ro', 'hiragana', 'henkan', 'yen', + 'ro', 'hiragana', 'muhenkan', 'henkan', 'katakanahiragana', 'y= en', 'kp_comma', 'kp_equals', 'power', 'sleep', 'wake', 'audionext', 'audioprev', 'audiostop', 'audioplay', 'audiomute= ', 'volumeup', 'volumedown', 'mediaselect', Submodule ui/keycodemapdb contains modified content diff --git a/ui/keycodemapdb/data/keymaps.csv b/ui/keycodemapdb/data/keymap= s.csv index 0ef2ec1..825ce47 100644 --- a/ui/keycodemapdb/data/keymaps.csv +++ b/ui/keycodemapdb/data/keymaps.csv @@ -154,9 +154,9 @@ KEY_KATAKANA,90,JIS_Kana,0x68,0x78,0x63,,146,VK_KANA,0x15,,,,,Lang3,KATA,,, KEY_HIRAGANA,91,,,0x77,0x62,0x87,147,,,,,,,Hiragana,HIRA,hiragana,, KEY_HIRAGANA,91,,,0x77,0x62,0x87,147,,,,,,,Lang4,HIRA,hiragana,, KEY_HENKAN,92,,,0x79,0x64,0x86,138,,,,,,,Convert,HENK,henkan,, -KEY_KATAKANAHIRAGANA,93,,,0x70,0x13,0x87,136,,,0xc8,0xc8,,,KanaMode,HKTG,,, -KEY_MUHENKAN,94,,,0x7b,0x67,0x85,139,,,,,,,NonConvert,NFER,,, -KEY_MUHENKAN,94,,,0x7b,0x67,0x85,139,,,,,,,NonConvert,MUHE,,, +KEY_KATAKANAHIRAGANA,93,,,0x70,0x13,0x87,136,,,0xc8,0xc8,,,KanaMode,HKTG,k= atakanahiragana,, +KEY_MUHENKAN,94,,,0x7b,0x67,0x85,139,,,,,,,NonConvert,NFER,muhenkan,, +KEY_MUHENKAN,94,,,0x7b,0x67,0x85,139,,,,,,,NonConvert,MUHE,muhenkan,, KEY_KPJPCOMMA,95,JIS_KeypadComma,0x5f,0x5c,0x27,,140,,,,,XK_KP_Separator,0= xffac,,KPSP,,, KEY_KPJPCOMMA,95,JIS_KeypadComma,0x5f,0x5c,0x27,,140,,,,,XK_KP_Separator,0= xffac,,JPCM,,, KEY_KPENTER,96,ANSI_KeypadEnter,0x4c,0xe01c,0xe05a,0x79,88,,,0x64,0x64,XK_= KP_Enter,0xff8d,NumpadEnter,KPEN,kp_enter,0x5a,0x4c @@ -246,7 +246,6 @@ KEY_STOPCD,166,,,0xe024,0xe03b,0x98,233,VK_MEDIA_STOP,0xb2,,,,,MediaStop,I1= 74,au KEY_RECORD,167,,,0xe031,,0x9e,,,,,,,,,I175,,, KEY_REWIND,168,,,0xe018,,0x9f,,,,,,,,,I176,,, KEY_PHONE,169,,,0x63,,,,,,,,,,,I177,,, -KEY_ISO,170,ISO_Section,0xa,0x70,,,,,,,,,,,I178,,, KEY_CONFIG,171,,,0xe001,,,,,,,,,,,I179,,, KEY_HOMEPAGE,172,,,0xe032,0xe03a,0x97,,VK_BROWSER_HOME,0xac,,,,,BrowserHom= e,I180,ac_home,, KEY_REFRESH,173,,,0xe067,0xe020,,250,VK_BROWSER_REFRESH,0xa8,,,,,BrowserRe= fresh,I181,ac_refresh,,