From nobody Mon May 6 20:38:34 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1493128276793837.6961954741721; Tue, 25 Apr 2017 06:51:16 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5E3BEC04B924; Tue, 25 Apr 2017 13:51:15 +0000 (UTC) Received: from colo-mx.corp.redhat.com (unknown [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 28B0982469; Tue, 25 Apr 2017 13:51:15 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A3407B3481; Tue, 25 Apr 2017 13:51:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v3PDpDTW022566 for ; Tue, 25 Apr 2017 09:51:13 -0400 Received: by smtp.corp.redhat.com (Postfix) id A246F8246C; Tue, 25 Apr 2017 13:51:13 +0000 (UTC) Received: from dhcp-17-113.lcy.redhat.com (unknown [10.42.17.113]) by smtp.corp.redhat.com (Postfix) with ESMTP id D08058246A; Tue, 25 Apr 2017 13:51:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 5E3BEC04B924 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 5E3BEC04B924 From: "Daniel P. Berrange" To: libvir-list@redhat.com Date: Tue, 25 Apr 2017 14:51:07 +0100 Message-Id: <20170425135108.24954-2-berrange@redhat.com> In-Reply-To: <20170425135108.24954-1-berrange@redhat.com> References: <20170425135108.24954-1-berrange@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 1/2] util: switch over to use keycodemapdb GIT submodule X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Tue, 25 Apr 2017 13:51:16 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" A long time ago we imported the keymaps.csv file from GTK-VNC so we can do conversions between keycode sets. Meanwhile lots of bug fixes have gone into this CSV file and libvirt hasn't kept in sync. The keymaps.csv file and associated generator script has been pulled out of GTK-VNC into a dedicated GIT repo for use as a submodule. This allows GTK-VNC, SPICE-GTK, QEMU and libvirt to share the same master database and tools and pushing updates merely requires a submodule commit update as with gnulib. The test suite is updated to cover some extra boundary conditions. Signed-off-by: Daniel P. Berrange --- .gitignore | 3 +- .gitmodules | 3 + src/Makefile.am | 45 +++- src/keycodemapdb | 1 + src/util/keymaps.csv | 464 --------------------------------------= ---- src/util/virkeycode-mapgen.py | 97 --------- src/util/virkeycode.c | 94 ++++----- tests/virkeycodetest.c | 5 + 8 files changed, 91 insertions(+), 621 deletions(-) create mode 160000 src/keycodemapdb delete mode 100644 src/util/keymaps.csv delete mode 100755 src/util/virkeycode-mapgen.py diff --git a/.gitignore b/.gitignore index d7927e1..7a1b44a 100644 --- a/.gitignore +++ b/.gitignore @@ -159,7 +159,8 @@ /src/test_libvirt*.aug /src/test_virtlockd.aug /src/test_virtlogd.aug -/src/util/virkeymaps.h +/src/util/virkeycodetable*.h +/src/util/virkeynametable*.h /src/virt-aa-helper /src/virtlockd /src/virtlogd diff --git a/.gitmodules b/.gitmodules index 7acb1ea..cae8f18 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "gnulib"] path =3D .gnulib url =3D git://git.sv.gnu.org/gnulib.git +[submodule "src/keycodemapdb"] + path =3D src/keycodemapdb + url =3D https://gitlab.com/keycodemap/keycodemapdb.git diff --git a/src/Makefile.am b/src/Makefile.am index 5def294..ebe822d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -52,7 +52,7 @@ AM_LDFLAGS =3D $(DRIVER_MODULES_LDFLAGS) \ $(MINGW_EXTRA_LDFLAGS) \ $(NULL) =20 -EXTRA_DIST =3D $(conf_DATA) util/keymaps.csv +EXTRA_DIST =3D $(conf_DATA) =20 BUILT_SOURCES =3D CLEANFILES =3D @@ -135,7 +135,6 @@ UTIL_SOURCES =3D \ util/virjson.c util/virjson.h \ util/virkeycode.c util/virkeycode.h \ util/virkeyfile.c util/virkeyfile.h \ - util/virkeymaps.h \ util/virlease.c util/virlease.h \ util/virlockspace.c util/virlockspace.h \ util/virlog.c util/virlog.h \ @@ -195,16 +194,42 @@ UTIL_SOURCES =3D \ util/virmdev.c util/virmdev.h \ $(NULL) =20 -EXTRA_DIST +=3D $(srcdir)/util/keymaps.csv $(srcdir)/util/virkeycode-mapge= n.py +EXTRA_DIST +=3D \ + $(srcdir)/keycodemapdb/data/keymaps.csv \ + $(srcdir)/keycodemapdb/tools/keymap-gen \ + $(NULL) =20 -BUILT_SOURCES +=3D util/virkeymaps.h -MAINTAINERCLEANFILES +=3D util/virkeymaps.h +util/virkeycodetable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \ + $(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am + $(AM_V_GEN)export NAME=3D`echo $@ | sed -e 's,util/virkeycodetable_,,' \ + -e 's,\.h,,'` && \ + $(MKDIR_P) util/ && \ + $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \ + --lang stdc --varname virKeyCodeTable_$$NAME code-table \ + $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \ + mv $@-tmp $@ || rm -f $@-tmp + +util/virkeynametable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \ + $(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am + $(AM_V_GEN)export NAME=3D`echo $@ | sed -e 's,util/virkeynametable_,,' \ + -e 's,\.h,,'` && \ + $(MKDIR_P) util/ && \ + $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \ + --lang stdc --varname virKeyNameTable_$$NAME name-table \ + $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \ + mv $@-tmp $@ || rm -f $@-tmp + +KEYCODES =3D linux osx atset1 atset2 atset3 xt xtkbd usb win32 rfb +KEYNAMES =3D linux osx win32 + +KEYTABLES =3D \ + $(KEYCODES:%=3Dutil/virkeycodetable_%.h) \ + $(KEYNAMES:%=3Dutil/virkeynametable_%.h) \ + $(NULL) =20 -util/virkeymaps.h: $(srcdir)/util/keymaps.csv \ - $(srcdir)/util/virkeycode-mapgen.py - $(MKDIR_P) util/ - $(AM_V_GEN)$(PYTHON) $(srcdir)/util/virkeycode-mapgen.py \ - <$(srcdir)/util/keymaps.csv >util/virkeymaps.h +UTIL_SOURCES +=3D $(KEYTABLES) +BUILT_SOURCES +=3D $(KEYTABLES) +MAINTAINERCLEANFILES +=3D $(KEYTABLES) =20 # Internal generic driver infrastructure DATATYPES_SOURCES =3D datatypes.h datatypes.c diff --git a/src/keycodemapdb b/src/keycodemapdb new file mode 160000 index 0000000..bd754b8 --- /dev/null +++ b/src/keycodemapdb @@ -0,0 +1 @@ +Subproject commit bd754b861e7de5c7919aa249a975913cb207b85d diff --git a/src/util/keymaps.csv b/src/util/keymaps.csv deleted file mode 100644 index 98c723b..0000000 --- a/src/util/keymaps.csv +++ /dev/null @@ -1,464 +0,0 @@ -"Linux Name","Linux Keycode","OS-X Name","OS-X Keycode","AT set1 keycode",= "AT set2 keycode","AT set3 keycode",XT,"XT KBD","USB Keycodes","Win32 Name"= ,"Win32 Keycode","Xwin XT","Xfree86 KBD XT" -KEY_RESERVED,0,,,,,,,,,,,, -KEY_ESC,1,Escape,0x35,1,118,8,1,1,41,VK_ESCAPE,0x1b,1,1 -KEY_1,2,ANSI_1,0x12,2,22,22,2,2,30,VK_1,0x31,2,2 -KEY_2,3,ANSI_2,0x13,3,30,30,3,3,31,VK_2,0x32,3,3 -KEY_3,4,ANSI_3,0x14,4,38,38,4,4,32,VK_3,0x33,4,4 -KEY_4,5,ANSI_4,0x15,5,37,37,5,5,33,VK_4,0x34,5,5 -KEY_5,6,ANSI_5,0x17,6,46,46,6,6,34,VK_5,0x35,6,6 -KEY_6,7,ANSI_6,0x16,7,54,54,7,7,35,VK_6,0x36,7,7 -KEY_7,8,ANSI_7,0x1a,8,61,61,8,8,36,VK_7,0x37,8,8 -KEY_8,9,ANSI_8,0x1c,9,62,62,9,9,37,VK_8,0x38,9,9 -KEY_9,10,ANSI_9,0x19,10,70,70,10,10,38,VK_9,0x39,10,10 -KEY_0,11,ANSI_0,0x1d,11,69,69,11,11,39,VK_0,0x30,11,11 -KEY_MINUS,12,ANSI_Minus,0x1b,12,78,78,12,12,45,VK_OEM_MINUS,0xbd,12,12 -KEY_EQUAL,13,ANSI_Equal,0x18,13,85,85,13,13,46,VK_OEM_PLUS,0xbb,13,13 -KEY_BACKSPACE,14,Delete,0x33,14,102,102,14,14,42,VK_BACK,0x08,14,14 -KEY_TAB,15,Tab,0x30,15,13,13,15,15,43,VK_TAB,0x09,15,15 -KEY_Q,16,ANSI_Q,0xc,16,21,21,16,16,20,VK_Q,0x51,16,16 -KEY_W,17,ANSI_W,0xd,17,29,29,17,17,26,VK_W,0x57,17,17 -KEY_E,18,ANSI_E,0xe,18,36,36,18,18,8,VK_E,0x45,18,18 -KEY_R,19,ANSI_R,0xf,19,45,45,19,19,21,VK_R,0x52,19,19 -KEY_T,20,ANSI_T,0x11,20,44,44,20,20,23,VK_T,0x54,20,20 -KEY_Y,21,ANSI_Y,0x10,21,53,53,21,21,28,VK_Y,0x59,21,21 -KEY_U,22,ANSI_U,0x20,22,60,60,22,22,24,VK_U,0x55,22,22 -KEY_I,23,ANSI_I,0x22,23,67,67,23,23,12,VK_I,0x49,23,23 -KEY_O,24,ANSI_O,0x1f,24,68,68,24,24,18,VK_O,0x4f,24,24 -KEY_P,25,ANSI_P,0x23,25,77,77,25,25,19,VK_P,0x50,25,25 -KEY_LEFTBRACE,26,ANSI_LeftBracket,0x21,26,84,84,26,26,47,VK_OEM_4,0xdb,26,= 26 -KEY_RIGHTBRACE,27,ANSI_RightBracket,0x1e,27,91,91,27,27,48,VK_OEM_6,0xdd,2= 7,27 -KEY_ENTER,28,Return,0x24,28,90,90,28,28,40,VK_RETURN,0x0d,28,28 -KEY_LEFTCTRL,29,Control,0x3b,29,20,17,29,29,224,VK_LCONTROL,0xa2,29,29 -KEY_LEFTCTRL,29,Control,0x3b,29,20,17,29,29,224,VK_CONTROL,0x11,29,29 -KEY_A,30,ANSI_A,0x0,30,28,28,30,30,4,VK_A,0x41,30,30 -KEY_S,31,ANSI_S,0x1,31,27,27,31,31,22,VK_S,0x53,31,31 -KEY_D,32,ANSI_D,0x2,32,35,35,32,32,7,VK_D,0x44,32,32 -KEY_F,33,ANSI_F,0x3,33,43,43,33,33,9,VK_F,0x46,33,33 -KEY_G,34,ANSI_G,0x5,34,52,52,34,34,10,VK_G,0x47,34,34 -KEY_H,35,ANSI_H,0x4,35,51,51,35,35,11,VK_H,0x48,35,35 -KEY_J,36,ANSI_J,0x26,36,59,59,36,36,13,VK_J,0x4a,36,36 -KEY_K,37,ANSI_K,0x28,37,66,66,37,37,14,VK_K,0x4b,37,37 -KEY_L,38,ANSI_L,0x25,38,75,75,38,38,15,VK_L,0x4c,38,38 -KEY_SEMICOLON,39,ANSI_Semicolon,0x29,39,76,76,39,39,51,VK_OEM_1,0xba,39,39 -KEY_APOSTROPHE,40,ANSI_Quote,0x27,40,82,82,40,40,52,VK_OEM_2,0xbf,40,40 -KEY_GRAVE,41,ANSI_Grave,0x32,41,14,14,41,41,53,VK_OEM_3,0xc0,41,41 -KEY_SHIFT,42,Shift,0x38,42,18,18,42,42,225,VK_SHIFT,0x10,42,42 -KEY_LEFTSHIFT,42,Shift,0x38,42,18,18,42,42,225,VK_LSHIFT,0xa0,42,42 -KEY_BACKSLASH,43,ANSI_Backslash,0x2a,43,93,93,43,43,50,VK_OEM_5,0xdc,43,43 -KEY_Z,44,ANSI_Z,0x6,44,26,26,44,44,29,VK_Z,0x5a,44,44 -KEY_X,45,ANSI_X,0x7,45,34,34,45,45,27,VK_X,0x58,45,45 -KEY_C,46,ANSI_C,0x8,46,33,33,46,46,6,VK_C,0x43,46,46 -KEY_V,47,ANSI_V,0x9,47,42,42,47,47,25,VK_V,0x56,47,47 -KEY_B,48,ANSI_B,0xb,48,50,50,48,48,5,VK_B,0x42,48,48 -KEY_N,49,ANSI_N,0x2d,49,49,49,49,49,17,VK_N,0x4e,49,49 -KEY_M,50,ANSI_M,0x2e,50,58,58,50,50,16,VK_M,0x4d,50,50 -KEY_COMMA,51,ANSI_Comma,0x2b,51,65,65,51,51,54,VK_OEM_COMMA,0xbc,51,51 -KEY_DOT,52,ANSI_Period,0x2f,52,73,73,52,52,55,VK_OEM_PERIOD,0xbe,52,52 -KEY_SLASH,53,ANSI_Slash,0x2c,53,74,74,53,53,56,VK_OEM_2,0xbf,53,53 -KEY_RIGHTSHIFT,54,RightShift,0x3c,54,89,89,54,54,229,VK_RSHIFT,0xa1,54,54 -KEY_KPASTERISK,55,ANSI_KeypadMultiply,0x43,55,124,126,55,55,85,VK_MULTIPLY= ,0x6a,55,55 -KEY_LEFTALT,56,Option,0x3a,56,17,25,56,56,226,VK_LMENU,0xa4,56,56 -KEY_LEFTALT,56,Option,0x3a,56,17,25,56,56,226,VK_MENU,0x12,56,56 -KEY_SPACE,57,Space,0x31,57,41,41,57,57,44,VK_SPACE,0x20,57,57 -KEY_CAPSLOCK,58,CapsLock,0x39,58,88,20,58,58,57,VK_CAPITAL,0x14,58,58 -KEY_F1,59,F1,0x7a,59,5,7,59,59,58,VK_F1,0x70,59,59 -KEY_F2,60,F2,0x78,60,6,15,60,60,59,VK_F2,0x71,60,60 -KEY_F3,61,F3,0x63,61,4,23,61,61,60,VK_F3,0x72,61,61 -KEY_F4,62,F4,0x76,62,12,31,62,62,61,VK_F4,0x73,62,62 -KEY_F5,63,F5,0x60,63,3,39,63,63,62,VK_F5,0x74,63,63 -KEY_F6,64,F6,0x61,64,11,47,64,64,63,VK_F6,0x75,64,64 -KEY_F7,65,F7,0x62,65,259,55,65,65,64,VK_F7,0x76,65,65 -KEY_F8,66,F8,0x64,66,10,63,66,66,65,VK_F8,0x77,66,66 -KEY_F9,67,F9,0x65,67,1,71,67,67,66,VK_F9,0x78,67,67 -KEY_F10,68,F10,0x6d,68,9,79,68,68,67,VK_F10,0x79,68,68 -KEY_NUMLOCK,69,,,69,119,118,69,69,83,VK_NUMLOCK,0x90,69,69 -KEY_SCROLLLOCK,70,,,70,126,95,70,70,71,VK_SCROLL,0x91,70,70 -KEY_KP7,71,ANSI_Keypad7,0x59,71,108,108,71,71,95,VK_NUMPAD7,0x67,71,71 -KEY_KP8,72,ANSI_Keypad8,0x5b,72,117,117,72,72,96,VK_NUMPAD8,0x68,72,72 -KEY_KP9,73,ANSI_Keypad9,0x5c,73,125,125,73,73,97,VK_NUMPAD9,0x69,73,73 -KEY_KPMINUS,74,ANSI_KeypadMinus,0x4e,74,123,132,74,74,86,VK_SUBTRACT,0x6d,= 74,74 -KEY_KP4,75,ANSI_Keypad4,0x56,75,107,107,75,75,92,VK_NUMPAD4,0x64,75,75 -KEY_KP5,76,ANSI_Keypad5,0x57,76,115,115,76,76,93,VK_NUMPAD5,0x65,76,76 -KEY_KP6,77,ANSI_Keypad6,0x58,77,116,116,77,77,94,VK_NUMPAD6,0x66,77,77 -KEY_KPPLUS,78,ANSI_KeypadPlus,0x45,78,121,124,78,78,87,VK_ADD,0x6b,78,78 -KEY_KP1,79,ANSI_Keypad1,0x53,79,105,105,79,79,89,VK_NUMPAD1,0x61,79,79 -KEY_KP2,80,ANSI_Keypad2,0x54,80,114,114,80,80,90,VK_NUMPAD2,0x62,80,80 -KEY_KP3,81,ANSI_Keypad3,0x55,81,122,122,81,81,91,VK_NUMPAD3,0x63,81,81 -KEY_KP0,82,ANSI_Keypad0,0x52,82,112,112,82,82,98,VK_NUMPAD0,0x60,82,82 -KEY_KPDOT,83,ANSI_KeypadDecimal,0x41,83,113,113,83,83,99,VK_DECIMAL,0x6e,8= 3,83 -,84,,,,,,,84,,,,, -KEY_ZENKAKUHANKAKU,85,,,118,95,,,118,148,,,, -KEY_102ND,86,,,86,97,19,,86,100,VK_OEM_102,0xe1,, -KEY_F11,87,F11,0x67,87,120,86,101,87,68,VK_F11,0x7a,, -KEY_F12,88,F12,0x6f,88,7,94,102,88,69,VK_F12,0x7b,, -KEY_RO,89,,,115,81,,,115,135,,,, -KEY_KATAKANA,90,JIS_Kana????,0x68,120,99,,,120,146,VK_KANA,0x15,, -KEY_HIRAGANA,91,,,119,98,,,119,147,,,, -KEY_HENKAN,92,,,121,100,134,,121,138,,,, -KEY_KATAKANAHIRAGANA,93,,,112,19,135,,112,136,,,0xc8,0xc8 -KEY_MUHENKAN,94,,,123,103,133,,123,139,,,, -KEY_KPJPCOMMA,95,JIS_KeypadComma,0x5f,92,39,,,92,140,,,, -KEY_KPENTER,96,ANSI_KeypadEnter,0x4c,,158,121,,284,88,,,0x64,0x64 -KEY_RIGHTCTRL,97,RightControl,0x3e,,,88,,285,228,VK_RCONTROL,0xa3,0x65,0x65 -KEY_KPSLASH,98,ANSI_KeypadDivide,0x4b,,181,119,,309,84,VK_DIVIDE,0x6f,0x68= ,0x68 -KEY_SYSRQ,99,,,84,260,87,,84,70,"VK_SNAPSHOT ???",0x2c,0x67,0x67 -KEY_RIGHTALT,100,RightOption,0x3d,,,57,,312,230,VK_RMENU,0xa5,0x69,0x69 -KEY_LINEFEED,101,,,,,,,91,,,,, -KEY_HOME,102,Home,0x73,,224,110,,327,74,VK_HOME,0x24,0x59,0x59 -KEY_UP,103,UpArrow,0x7e,,236,99,109,328,82,VK_UP,0x26,0x5a,0x5a -KEY_PAGEUP,104,PageUp,0x74,,201,111,,329,75,VK_PRIOR,0x21,0x5b,0x5b -KEY_LEFT,105,LeftArrow,0x7b,,203,97,111,331,80,VK_LEFT,0x25,0x5c,0x5c -KEY_RIGHT,106,RightArrow,0x7c,,205,106,112,333,79,VK_RIGHT,0x27,0x5e,0x5e -KEY_END,107,End,0x77,,225,101,,335,77,VK_END,0x23,0x5f,0x5f -KEY_DOWN,108,DownArrow,0x7d,,254,96,110,336,81,VK_DOWN,0x28,0x60,0x60 -KEY_PAGEDOWN,109,PageDown,0x79,,243,109,,337,78,VK_NEXT,0x22,0x61,0x61 -KEY_INSERT,110,,,,210,103,107,338,73,VK_INSERT,0x2d,0x62,0x62 -KEY_DELETE,111,ForwardDelete,0x75,,244,100,108,339,76,VK_DELETE,0x2e,0x63,= 0x63 -KEY_MACRO,112,,,,239,142,,367,,,,, -KEY_MUTE,113,Mute,0x4a,,251,156,,288,239,VK_VOLUME_MUTE,0xad,, -KEY_VOLUMEDOWN,114,VolumeDown,0x49,,,157,,302,238,VK_VOLUME_DOWN,0xae,, -KEY_VOLUMEUP,115,VolumeUp,0x48,,233,149,,304,237,VK_VOLUME_UP,0xaf,, -KEY_POWER,116,,,,,,,350,102,,,, -KEY_KPEQUAL,117,ANSI_KeypadEquals,0x51,89,15,,,89,103,,,0x76,0x76 -KEY_KPPLUSMINUS,118,,,,206,,,334,,,,, -KEY_PAUSE,119,,,,198,98,,326,72,VK_PAUSE,0x013,0x66,0x66 -KEY_SCALE,120,,,,,,,267,,,,, -KEY_KPCOMMA,121,ANSI_KeypadClear????,0x47,126,109,,,126,133,VK_SEPARATOR??= ,0x6c,, -KEY_HANGEUL,122,,,,,,,,144,VK_HANGEUL,0x15,, -KEY_HANJA,123,,,,,,,269,145,VK_HANJA,0x19,, -KEY_YEN,124,JIS_Yen,0x5d,125,106,,,125,137,,,0x7d,0x7d -KEY_LEFTMETA,125,Command,0x37,,,139,,347,227,VK_LWIN,0x5b,0x6b,0x6b -KEY_RIGHTMETA,126,,,,,140,,348,231,VK_RWIN,0x5c,0x6c,0x6c -KEY_COMPOSE,127,Function,0x3f,,,141,,349,101,VK_APPS,0x5d,0x6d,0x6d -KEY_STOP,128,,,,,10,,360,243,VK_BROWSER_STOP,0xa9,, -KEY_AGAIN,129,,,,,11,,261,121,,,, -KEY_PROPS,130,,,,,12,,262,118,,,, -KEY_UNDO,131,,,,,16,,263,122,,,, -KEY_FRONT,132,,,,,,,268,119,,,, -KEY_COPY,133,,,,,24,,376,124,,,, -KEY_OPEN,134,,,,,32,,100,116,,,, -KEY_PASTE,135,,,,,40,,101,125,,,, -KEY_FIND,136,,,,,48,,321,244,,,, -KEY_CUT,137,,,,,56,,316,123,,,, -KEY_HELP,138,,,,,9,,373,117,VK_HELP,0x2f,, -KEY_MENU,139,,,,,145,,286,,,,, -KEY_CALC,140,,,,174,163,,289,251,,,, -KEY_SETUP,141,,,,,,,102,,,,, -KEY_SLEEP,142,,,,,,,351,248,VK_SLEEP,0x5f,, -KEY_WAKEUP,143,,,,,,,355,,,,, -KEY_FILE,144,,,,,,,103,,,,, -KEY_SENDFILE,145,,,,,,,104,,,,, -KEY_DELETEFILE,146,,,,,,,105,,,,, -KEY_XFER,147,,,,,162,,275,,,,, -KEY_PROG1,148,,,,,160,,287,,,,, -KEY_PROG2,149,,,,,161,,279,,,,, -KEY_WWW,150,,,,,,,258,240,,,, -KEY_MSDOS,151,,,,,,,106,,,,, -KEY_SCREENLOCK,152,,,,,150,,274,249,,,, -KEY_DIRECTION,153,,,,,,,107,,,,, -KEY_CYCLEWINDOWS,154,,,,,155,,294,,,,, -KEY_MAIL,155,,,,,,,364,,,,, -KEY_BOOKMARKS,156,,,,,,,358,,,,, -KEY_COMPUTER,157,,,,,,,363,,,,, -KEY_BACK,158,,,,,,,362,241,VK_BROWSER_BACK,0xa6,, -KEY_FORWARD,159,,,,,,,361,242,VK_BROWSER_FORWARD,0xa7,, -KEY_CLOSECD,160,,,,,154,,291,,,,, -KEY_EJECTCD,161,,,,,,,108,236,,,, -KEY_EJECTCLOSECD,162,,,,,,,381,,,,, -KEY_NEXTSONG,163,,,,241,147,,281,235,VK_MEDIA_NEXT_TRACK,0xb0,, -KEY_PLAYPAUSE,164,,,,173,,,290,232,VK_MEDIA_PLAY_PAUSE,0xb3,, -KEY_PREVIOUSSONG,165,,,,250,148,,272,234,VK_MEDIA_PREV_TRACK,0xb1,, -KEY_STOPCD,166,,,,164,152,,292,233,VK_MEDIA_STOP,0xb2,, -KEY_RECORD,167,,,,,158,,305,,,,, -KEY_REWIND,168,,,,,159,,280,,,,, -KEY_PHONE,169,,,,,,,99,,,,, -KEY_ISO,170,ISO_Section,0xa,,,,,112,,,,, -KEY_CONFIG,171,,,,,,,257,,,,, -KEY_HOMEPAGE,172,,,,178,151,,306,,VK_BROWSER_HOME,0xac,, -KEY_REFRESH,173,,,,,,,359,250,VK_BROWSER_REFRESH,0xa8,, -KEY_EXIT,174,,,,,,,113,,,,, -KEY_MOVE,175,,,,,,,114,,,,, -KEY_EDIT,176,,,,,,,264,247,,,, -KEY_SCROLLUP,177,,,,,,,117,245,,,, -KEY_SCROLLDOWN,178,,,,,,,271,246,,,, -KEY_KPLEFTPAREN,179,,,,,,,374,182,,,, -KEY_KPRIGHTPAREN,180,,,,,,,379,183,,,, -KEY_NEW,181,,,,,,,265,,,,, -KEY_REDO,182,,,,,,,266,,,,, -KEY_F13,183,F13,0x69,93,47,127,,93,104,VK_F13,0x7c,0x6e,0x6e -KEY_F14,184,F14,0x6b,94,55,128,,94,105,VK_F14,0x7d,0x6f,0x6f -KEY_F15,185,F15,0x71,95,63,129,,95,106,VK_F15,0x7e,0x70,0x70 -KEY_F16,186,F16,0x6a,,,130,,85,107,VK_F16,0x7f,0x71,0x71 -KEY_F17,187,F17,0x40,,,131,,259,108,VK_F17,0x80,0x72,0x72 -KEY_F18,188,F18,0x4f,,,,,375,109,VK_F18,0x81,, -KEY_F19,189,F19,0x50,,,,,260,110,VK_F19,0x82,, -KEY_F20,190,F20,0x5a,,,,,90,111,VK_F20,0x83,, -KEY_F21,191,,,,,,,116,112,VK_F21,0x84,, -KEY_F22,192,,,,,,,377,113,VK_F22,0x85,, -KEY_F23,193,,,,,,,109,114,VK_F23,0x86,, -KEY_F24,194,,,,,,,111,115,VK_F24,0x87,, -,195,,,,,,,277,,,,, -,196,,,,,,,278,,,,, -,197,,,,,,,282,,,,, -,198,,,,,,,283,,,,, -,199,,,,,,,295,,,,, -KEY_PLAYCD,200,,,,,,,296,,,,, -KEY_PAUSECD,201,,,,,,,297,,,,, -KEY_PROG3,202,,,,,,,299,,,,, -KEY_PROG4,203,,,,,,,300,,,,, -KEY_DASHBOARD,204,,,,,,,301,,,,, -KEY_SUSPEND,205,,,,,,,293,,,,, -KEY_CLOSE,206,,,,,,,303,,,,, -KEY_PLAY,207,,,,,,,307,,VK_PLAY,0xfa,, -KEY_FASTFORWARD,208,,,,,,,308,,,,, -KEY_BASSBOOST,209,,,,,,,310,,,,, -KEY_PRINT,210,,,,,,,313,,VK_PRINT,0x2a,, -KEY_HP,211,,,,,,,314,,,,, -KEY_CAMERA,212,,,,,,,315,,,,, -KEY_SOUND,213,,,,,,,317,,,,, -KEY_QUESTION,214,,,,,,,318,,,,, -KEY_EMAIL,215,,,,,,,319,,VK_LAUNCH_MAIL,0xb4,, -KEY_CHAT,216,,,,,,,320,,,,, -KEY_SEARCH,217,,,,,,,357,,VK_BROWSER_SEARCH,0xaa,, -KEY_CONNECT,218,,,,,,,322,,,,, -KEY_FINANCE,219,,,,,,,323,,,,, -KEY_SPORT,220,,,,,,,324,,,,, -KEY_SHOP,221,,,,,,,325,,,,, -KEY_ALTERASE,222,,,,,,,276,,,,, -KEY_CANCEL,223,,,,,,,330,,,,, -KEY_BRIGHTNESSDOWN,224,,,,,,,332,,,,, -KEY_BRIGHTNESSUP,225,,,,,,,340,,,,, -KEY_MEDIA,226,,,,,,,365,,,,, -KEY_SWITCHVIDEOMODE,227,,,,,,,342,,,,, -KEY_KBDILLUMTOGGLE,228,,,,,,,343,,,,, -KEY_KBDILLUMDOWN,229,,,,,,,344,,,,, -KEY_KBDILLUMUP,230,,,,,,,345,,,,, -KEY_SEND,231,,,,,,,346,,,,, -KEY_REPLY,232,,,,,,,356,,,,, -KEY_FORWARDMAIL,233,,,,,,,270,,,,, -KEY_SAVE,234,,,,,,,341,,,,, -KEY_DOCUMENTS,235,,,,,,,368,,,,, -KEY_BATTERY,236,,,,,,,369,,,,, -KEY_BLUETOOTH,237,,,,,,,370,,,,, -KEY_WLAN,238,,,,,,,371,,,,, -KEY_UWB,239,,,,,,,372,,,,, -KEY_UNKNOWN,240,,,,,,,,,,,, -KEY_VIDEO_NEXT,241,,,,,,,,,,,, -KEY_VIDEO_PREV,242,,,,,,,,,,,, -KEY_BRIGHTNESS_CYCLE,243,,,,,,,,,,,, -KEY_BRIGHTNESS_ZERO,244,,,,,,,,,,,, -KEY_DISPLAY_OFF,245,,,,,,,,,,,, -KEY_WIMAX,246,,,,,,,,,,,, -,247,,,,,,,,,,,, -,248,,,,,,,,,,,, -,249,,,,,,,,,,,, -,250,,,,,,,,,,,, -,251,,,,,,,,,,,, -,252,,,,,,,,,,,, -,253,,,,,,,,,,,, -,254,,,,,,,,,,,, -,255,,,,182,,,,,,,, -BTN_MISC,0x100,,,,,,,,,,,, -BTN_0,0x100,,,,,,,,,VK_LBUTTON,0x01,, -BTN_1,0x101,,,,,,,,,VK_RBUTTON,0x02,, -BTN_2,0x102,,,,,,,,,VK_MBUTTON,0x04,, -BTN_3,0x103,,,,,,,,,VK_XBUTTON1,0x05,, -BTN_4,0x104,,,,,,,,,VK_XBUTTON2,0x06,, -BTN_5,0x105,,,,,,,,,,,, -BTN_6,0x106,,,,,,,,,,,, -BTN_7,0x107,,,,,,,,,,,, -BTN_8,0x108,,,,,,,,,,,, -BTN_9,0x109,,,,,,,,,,,, -BTN_MOUSE,0x110,,,,,,,,,,,, -BTN_LEFT,0x110,,,,,,,,,,,, -BTN_RIGHT,0x111,,,,,,,,,,,, -BTN_MIDDLE,0x112,,,,,,,,,,,, -BTN_SIDE,0x113,,,,,,,,,,,, -BTN_EXTRA,0x114,,,,,,,,,,,, -BTN_FORWARD,0x115,,,,,,,,,,,, -BTN_BACK,0x116,,,,,,,,,,,, -BTN_TASK,0x117,,,,,,,,,,,, -BTN_JOYSTICK,0x120,,,,,,,,,,,, -BTN_TRIGGER,0x120,,,,,,,,,,,, -BTN_THUMB,0x121,,,,,,,,,,,, -BTN_THUMB2,0x122,,,,,,,,,,,, -BTN_TOP,0x123,,,,,,,,,,,, -BTN_TOP2,0x124,,,,,,,,,,,, -BTN_PINKIE,0x125,,,,,,,,,,,, -BTN_BASE,0x126,,,,,,,,,,,, -BTN_BASE2,0x127,,,,,,,,,,,, -BTN_BASE3,0x128,,,,,,,,,,,, -BTN_BASE4,0x129,,,,,,,,,,,, -BTN_BASE5,0x12a,,,,,,,,,,,, -BTN_BASE6,0x12b,,,,,,,,,,,, -BTN_DEAD,0x12f,,,,,,,,,,,, -BTN_GAMEPAD,0x130,,,,,,,,,,,, -BTN_A,0x130,,,,,,,,,,,, -BTN_B,0x131,,,,,,,,,,,, -BTN_C,0x132,,,,,,,,,,,, -BTN_X,0x133,,,,,,,,,,,, -BTN_Y,0x134,,,,,,,,,,,, -BTN_Z,0x135,,,,,,,,,,,, -BTN_TL,0x136,,,,,,,,,,,, -BTN_TR,0x137,,,,,,,,,,,, -BTN_TL2,0x138,,,,,,,,,,,, -BTN_TR2,0x139,,,,,,,,,,,, -BTN_SELECT,0x13a,,,,,,,,,,,, -BTN_START,0x13b,,,,,,,,,,,, -BTN_MODE,0x13c,,,,,,,,,,,, -BTN_THUMBL,0x13d,,,,,,,,,,,, -BTN_THUMBR,0x13e,,,,,,,,,,,, -BTN_DIGI,0x140,,,,,,,,,,,, -BTN_TOOL_PEN,0x140,,,,,,,,,,,, -BTN_TOOL_RUBBER,0x141,,,,,,,,,,,, -BTN_TOOL_BRUSH,0x142,,,,,,,,,,,, -BTN_TOOL_PENCIL,0x143,,,,,,,,,,,, -BTN_TOOL_AIRBRUSH,0x144,,,,,,,,,,,, -BTN_TOOL_FINGER,0x145,,,,,,,,,,,, -BTN_TOOL_MOUSE,0x146,,,,,,,,,,,, -BTN_TOOL_LENS,0x147,,,,,,,,,,,, -BTN_TOUCH,0x14a,,,,,,,,,,,, -BTN_STYLUS,0x14b,,,,,,,,,,,, -BTN_STYLUS2,0x14c,,,,,,,,,,,, -BTN_TOOL_DOUBLETAP,0x14d,,,,,,,,,,,, -BTN_TOOL_TRIPLETAP,0x14e,,,,,,,,,,,, -BTN_TOOL_QUADTAP,0x14f,,,,,,,,,,,, -BTN_WHEEL,0x150,,,,,,,,,,,, -BTN_GEAR_DOWN,0x150,,,,,,,,,,,, -BTN_GEAR_UP,0x151,,,,,,,,,,,, -KEY_OK,0x160,,,,,,,,,,,, -KEY_SELECT,0x161,,,,,,,,,VK_SELECT,0x29,, -KEY_GOTO,0x162,,,,,,,,,,,, -KEY_CLEAR,0x163,,,,,,,,,,,, -KEY_POWER2,0x164,,,,,,,,,,,, -KEY_OPTION,0x165,,,,,,,,,,,, -KEY_INFO,0x166,,,,,,,,,,,, -KEY_TIME,0x167,,,,,,,,,,,, -KEY_VENDOR,0x168,,,,,,,,,,,, -KEY_ARCHIVE,0x169,,,,,,,,,,,, -KEY_PROGRAM,0x16a,,,,,,,,,,,, -KEY_CHANNEL,0x16b,,,,,,,,,,,, -KEY_FAVORITES,0x16c,,,,,,,,,VK_BROWSER_FAVOURITES,0xab,, -KEY_EPG,0x16d,,,,,,,,,,,, -KEY_PVR,0x16e,,,,,,,,,,,, -KEY_MHP,0x16f,,,,,,,,,,,, -KEY_LANGUAGE,0x170,,,,,,,,,,,, -KEY_TITLE,0x171,,,,,,,,,,,, -KEY_SUBTITLE,0x172,,,,,,,,,,,, -KEY_ANGLE,0x173,,,,,,,,,,,, -KEY_ZOOM,0x174,,,,,,,,,VK_ZOOM,0xfb,, -KEY_MODE,0x175,,,,,,,,,,,, -KEY_KEYBOARD,0x176,,,,,,,,,,,, -KEY_SCREEN,0x177,,,,,,,,,,,, -KEY_PC,0x178,,,,,,,,,,,, -KEY_TV,0x179,,,,,,,,,,,, -KEY_TV2,0x17a,,,,,,,,,,,, -KEY_VCR,0x17b,,,,,,,,,,,, -KEY_VCR2,0x17c,,,,,,,,,,,, -KEY_SAT,0x17d,,,,,,,,,,,, -KEY_SAT2,0x17e,,,,,,,,,,,, -KEY_CD,0x17f,,,,,,,,,,,, -KEY_TAPE,0x180,,,,,,,,,,,, -KEY_RADIO,0x181,,,,,,,,,,,, -KEY_TUNER,0x182,,,,,,,,,,,, -KEY_PLAYER,0x183,,,,,,,,,,,, -KEY_TEXT,0x184,,,,,,,,,,,, -KEY_DVD,0x185,,,,,,,,,,,, -KEY_AUX,0x186,,,,,,,,,,,, -KEY_MP3,0x187,,,,,,,,,,,, -KEY_AUDIO,0x188,,,,,,,,,,,, -KEY_VIDEO,0x189,,,,,,,,,,,, -KEY_DIRECTORY,0x18a,,,,,,,,,,,, -KEY_LIST,0x18b,,,,,,,,,,,, -KEY_MEMO,0x18c,,,,,,,,,,,, -KEY_CALENDAR,0x18d,,,,,,,,,,,, -KEY_RED,0x18e,,,,,,,,,,,, -KEY_GREEN,0x18f,,,,,,,,,,,, -KEY_YELLOW,0x190,,,,,,,,,,,, -KEY_BLUE,0x191,,,,,,,,,,,, -KEY_CHANNELUP,0x192,,,,,,,,,,,, -KEY_CHANNELDOWN,0x193,,,,,,,,,,,, -KEY_FIRST,0x194,,,,,,,,,,,, -KEY_LAST,0x195,,,,,,,,,,,, -KEY_AB,0x196,,,,,,,,,,,, -KEY_NEXT,0x197,,,,,,,,,,,, -KEY_RESTART,0x198,,,,,,,,,,,, -KEY_SLOW,0x199,,,,,,,,,,,, -KEY_SHUFFLE,0x19a,,,,,,,,,,,, -KEY_BREAK,0x19b,,,,,,,,,,,, -KEY_PREVIOUS,0x19c,,,,,,,,,,,, -KEY_DIGITS,0x19d,,,,,,,,,,,, -KEY_TEEN,0x19e,,,,,,,,,,,, -KEY_TWEN,0x19f,,,,,,,,,,,, -KEY_VIDEOPHONE,0x1a0,,,,,,,,,,,, -KEY_GAMES,0x1a1,,,,,,,,,,,, -KEY_ZOOMIN,0x1a2,,,,,,,,,,,, -KEY_ZOOMOUT,0x1a3,,,,,,,,,,,, -KEY_ZOOMRESET,0x1a4,,,,,,,,,,,, -KEY_WORDPROCESSOR,0x1a5,,,,,,,,,,,, -KEY_EDITOR,0x1a6,,,,,,,,,,,, -KEY_SPREADSHEET,0x1a7,,,,,,,,,,,, -KEY_GRAPHICSEDITOR,0x1a8,,,,,,,,,,,, -KEY_PRESENTATION,0x1a9,,,,,,,,,,,, -KEY_DATABASE,0x1aa,,,,,,,,,,,, -KEY_NEWS,0x1ab,,,,,,,,,,,, -KEY_VOICEMAIL,0x1ac,,,,,,,,,,,, -KEY_ADDRESSBOOK,0x1ad,,,,,,,,,,,, -KEY_MESSENGER,0x1ae,,,,,,,,,,,, -KEY_DISPLAYTOGGLE,0x1af,,,,,,,,,,,, -KEY_SPELLCHECK,0x1b0,,,,,,,,,,,, -KEY_LOGOFF,0x1b1,,,,,,,,,,,, -KEY_DOLLAR,0x1b2,,,,,,,,,,,, -KEY_EURO,0x1b3,,,,,,,,,,,, -KEY_FRAMEBACK,0x1b4,,,,,,,,,,,, -KEY_FRAMEFORWARD,0x1b5,,,,,,,,,,,, -KEY_CONTEXT_MENU,0x1b6,,,,,,,,,,,, -KEY_MEDIA_REPEAT,0x1b7,,,,,,,,,,,, -KEY_DEL_EOL,0x1c0,,,,,,,,,,,, -KEY_DEL_EOS,0x1c1,,,,,,,,,,,, -KEY_INS_LINE,0x1c2,,,,,,,,,,,, -KEY_DEL_LINE,0x1c3,,,,,,,,,,,, -KEY_FN,0x1d0,,,,,,,,,,,, -KEY_FN_ESC,0x1d1,,,,,,,,,,,, -KEY_FN_F1,0x1d2,,,,,,,,,,,, -KEY_FN_F2,0x1d3,,,,,,,,,,,, -KEY_FN_F3,0x1d4,,,,,,,,,,,, -KEY_FN_F4,0x1d5,,,,,,,,,,,, -KEY_FN_F5,0x1d6,,,,,,,,,,,, -KEY_FN_F6,0x1d7,,,,,,,,,,,, -KEY_FN_F7,0x1d8,,,,,,,,,,,, -KEY_FN_F8,0x1d9,,,,,,,,,,,, -KEY_FN_F9,0x1da,,,,,,,,,,,, -KEY_FN_F10,0x1db,,,,,,,,,,,, -KEY_FN_F11,0x1dc,,,,,,,,,,,, -KEY_FN_F12,0x1dd,,,,,,,,,,,, -KEY_FN_1,0x1de,,,,,,,,,,,, -KEY_FN_2,0x1df,,,,,,,,,,,, -KEY_FN_D,0x1e0,,,,,,,,,,,, -KEY_FN_E,0x1e1,,,,,,,,,,,, -KEY_FN_F,0x1e2,,,,,,,,,,,, -KEY_FN_S,0x1e3,,,,,,,,,,,, -KEY_FN_B,0x1e4,,,,,,,,,,,, -KEY_BRL_DOT1,0x1f1,,,,,,,,,,,, -KEY_BRL_DOT2,0x1f2,,,,,,,,,,,, -KEY_BRL_DOT3,0x1f3,,,,,,,,,,,, -KEY_BRL_DOT4,0x1f4,,,,,,,,,,,, -KEY_BRL_DOT5,0x1f5,,,,,,,,,,,, -KEY_BRL_DOT6,0x1f6,,,,,,,,,,,, -KEY_BRL_DOT7,0x1f7,,,,,,,,,,,, -KEY_BRL_DOT8,0x1f8,,,,,,,,,,,, -KEY_BRL_DOT9,0x1f9,,,,,,,,,,,, -KEY_BRL_DOT10,0x1fa,,,,,,,,,,,, -KEY_NUMERIC_0,0x200,,,,,,,,,,,, -KEY_NUMERIC_1,0x201,,,,,,,,,,,, -KEY_NUMERIC_2,0x202,,,,,,,,,,,, -KEY_NUMERIC_3,0x203,,,,,,,,,,,, -KEY_NUMERIC_4,0x204,,,,,,,,,,,, -KEY_NUMERIC_5,0x205,,,,,,,,,,,, -KEY_NUMERIC_6,0x206,,,,,,,,,,,, -KEY_NUMERIC_7,0x207,,,,,,,,,,,, -KEY_NUMERIC_8,0x208,,,,,,,,,,,, -KEY_NUMERIC_9,0x209,,,,,,,,,,,, -KEY_NUMERIC_STAR,0x20a,,,,,,,,,,,, -KEY_NUMERIC_POUND,0x20b,,,,,,,,,,,, -KEY_RFKILL,0x20c,,,,,,,,,,,, diff --git a/src/util/virkeycode-mapgen.py b/src/util/virkeycode-mapgen.py deleted file mode 100755 index 8360bfe..0000000 --- a/src/util/virkeycode-mapgen.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/python - -""" -Generate the big keycodes table for virkeys. -It read keymaps.csv from stdin and put the generated code to stdout. - -Please keep keymaps.csv be exactly the same as: -http://git.gnome.org/browse/gtk-vnc/plain/src/keymaps.csv. -If anything inconsistent happens, please change this file -instead of keymaps.csv which is a mirror. -""" - -import sys -import re - -cols =3D ( - ["linux", True], - ["linux", False], - ["os_x", True], - ["os_x", False], - ["atset1", False], - - ["atset2", False], - ["atset3", False], - ["xt", False], - ["xt_kbd", False], - ["usb", False], - - ["win32", True], - ["win32", False], - [None, False], - [None, False], - ["rfb", False], -) - -xtkbdkey_index =3D 8 - -def quotestring(str): - if str[0] !=3D '"': - return '"' + str + '"' - return str - -print ''' -/* Generated file, DON'T edit it */ - -#ifndef VIRT_KEY_INTERNAL -# error do not use this; it is not a public header -#endif - -''' - -sys.stdin.readline() # eat the fist line. - -keycodes =3D [] - -max =3D 0 - -for line in sys.stdin.xreadlines(): - values =3D re.match("([^,]*)," * 13 + "([^,]*)$", line[0:-1]).groups() - - data =3D [] - for v in values: - data.append(v) - - # RFB keycodes are XT kbd keycodes with a slightly - # different encoding of 0xe0 scan codes. RFB uses - # the high bit of the first byte, instead of the low - # bit of the second byte. - rfbkey =3D int(data[xtkbdkey_index] or '0') - rfbkey =3D (rfbkey & 0x100) >> 1 | (rfbkey & 0x7f) - data.append("%d" % rfbkey) - - keycodes.append(data) - max =3D max + 1 - -print "#define VIR_KEYMAP_ENTRY_MAX " + str(max) - -for i in range(len(cols)): - col=3Dcols[i] - name=3Dcol[0] - isname=3Dcol[1] - - if name is None: - continue - - if isname: - print "const char *virKeymapNames_" + name + "[] =3D {" - else: - print "int virKeymapValues_" + name + "[] =3D {" - - for entry in keycodes: - if isname: - print " " + quotestring(entry[i] or "NULL") + "," - else: - print " " + (entry[i] or "-1") + "," - - print "};\n" diff --git a/src/util/virkeycode.c b/src/util/virkeycode.c index 7880a0a..e09aaad 100644 --- a/src/util/virkeycode.c +++ b/src/util/virkeycode.c @@ -22,57 +22,53 @@ #include #include =20 - -#define VIRT_KEY_INTERNAL -#include "virkeymaps.h" - -static const char **virKeymapNames[] =3D { - [VIR_KEYCODE_SET_LINUX] =3D - virKeymapNames_linux, - [VIR_KEYCODE_SET_XT] =3D - NULL, - [VIR_KEYCODE_SET_ATSET1] =3D - NULL, - [VIR_KEYCODE_SET_ATSET2] =3D - NULL, - [VIR_KEYCODE_SET_ATSET3] =3D - NULL, - [VIR_KEYCODE_SET_OSX] =3D - virKeymapNames_os_x, - [VIR_KEYCODE_SET_XT_KBD] =3D - NULL, - [VIR_KEYCODE_SET_USB] =3D - NULL, - [VIR_KEYCODE_SET_WIN32] =3D - virKeymapNames_win32, - [VIR_KEYCODE_SET_RFB] =3D - NULL, +#include "virkeycodetable_atset1.h" +#include "virkeycodetable_atset2.h" +#include "virkeycodetable_atset3.h" +#include "virkeycodetable_linux.h" +#include "virkeycodetable_osx.h" +#include "virkeycodetable_rfb.h" +#include "virkeycodetable_usb.h" +#include "virkeycodetable_win32.h" +#include "virkeycodetable_xt.h" +#include "virkeycodetable_xtkbd.h" +#include "virkeynametable_linux.h" +#include "virkeynametable_osx.h" +#include "virkeynametable_win32.h" + +static const char **virKeymapNames[VIR_KEYCODE_SET_LAST] =3D { + [VIR_KEYCODE_SET_LINUX] =3D virKeyNameTable_linux, + [VIR_KEYCODE_SET_OSX] =3D virKeyNameTable_osx, + [VIR_KEYCODE_SET_WIN32] =3D virKeyNameTable_win32, }; -verify(ARRAY_CARDINALITY(virKeymapNames) =3D=3D VIR_KEYCODE_SET_LAST); - -static int *virKeymapValues[] =3D { - [VIR_KEYCODE_SET_LINUX] =3D - virKeymapValues_linux, - [VIR_KEYCODE_SET_XT] =3D - virKeymapValues_xt, - [VIR_KEYCODE_SET_ATSET1] =3D - virKeymapValues_atset1, - [VIR_KEYCODE_SET_ATSET2] =3D - virKeymapValues_atset2, - [VIR_KEYCODE_SET_ATSET3] =3D - virKeymapValues_atset3, - [VIR_KEYCODE_SET_OSX] =3D - virKeymapValues_os_x, - [VIR_KEYCODE_SET_XT_KBD] =3D - virKeymapValues_xt_kbd, - [VIR_KEYCODE_SET_USB] =3D - virKeymapValues_usb, - [VIR_KEYCODE_SET_WIN32] =3D - virKeymapValues_win32, - [VIR_KEYCODE_SET_RFB] =3D - virKeymapValues_rfb, + +static const unsigned short *virKeymapValues[VIR_KEYCODE_SET_LAST] =3D { + [VIR_KEYCODE_SET_LINUX] =3D virKeyCodeTable_linux, + [VIR_KEYCODE_SET_XT] =3D virKeyCodeTable_xt, + [VIR_KEYCODE_SET_ATSET1] =3D virKeyCodeTable_atset1, + [VIR_KEYCODE_SET_ATSET2] =3D virKeyCodeTable_atset2, + [VIR_KEYCODE_SET_ATSET3] =3D virKeyCodeTable_atset3, + [VIR_KEYCODE_SET_OSX] =3D virKeyCodeTable_osx, + [VIR_KEYCODE_SET_XT_KBD] =3D virKeyCodeTable_xtkbd, + [VIR_KEYCODE_SET_USB] =3D virKeyCodeTable_usb, + [VIR_KEYCODE_SET_WIN32] =3D virKeyCodeTable_win32, + [VIR_KEYCODE_SET_RFB] =3D virKeyCodeTable_rfb, }; -verify(ARRAY_CARDINALITY(virKeymapValues) =3D=3D VIR_KEYCODE_SET_LAST); + +#define VIR_KEYMAP_ENTRY_MAX ARRAY_CARDINALITY(virKeyCodeTable_linux) + +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyCodeTable_xt)); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyCodeTable_atset= 1)); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyCodeTable_atset= 2)); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyCodeTable_atset= 3)); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyCodeTable_osx)); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyCodeTable_xtkbd= )); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyCodeTable_usb)); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyCodeTable_win32= )); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyCodeTable_rfb)); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyNameTable_linux= )); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyNameTable_osx)); +verify(VIR_KEYMAP_ENTRY_MAX =3D=3D ARRAY_CARDINALITY(virKeyNameTable_win32= )); =20 VIR_ENUM_IMPL(virKeycodeSet, VIR_KEYCODE_SET_LAST, "linux", diff --git a/tests/virkeycodetest.c b/tests/virkeycodetest.c index d4cb973..d754385 100644 --- a/tests/virkeycodetest.c +++ b/tests/virkeycodetest.c @@ -57,6 +57,9 @@ static int testKeycodeMapping(const void *data ATTRIBUTE_= UNUSED) TRANSLATE(LINUX, RFB, 88, 88); TRANSLATE(LINUX, RFB, 160, 163); TRANSLATE(ATSET2, ATSET3, 259, 55); + TRANSLATE(OSX, WIN32, 90, 131); + TRANSLATE(OSX, ATSET1, 90, 0); + TRANSLATE(OSX, ATSET1, 3200, -1); =20 #undef TRANSLATE =20 @@ -82,6 +85,8 @@ static int testKeycodeStrings(const void *data ATTRIBUTE_= UNUSED) } while (0) =20 TRANSLATE(LINUX, "KEY_DELETE", 111); + TRANSLATE(LINUX, "KEY_RFKILL", 524); + TRANSLATE(LINUX, "KEY_WIBBLE", -1); TRANSLATE(OSX, "Function", 0x3f); TRANSLATE(WIN32, "VK_UP", 0x26); =20 --=20 2.9.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Mon May 6 20:38:34 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1493128283005112.76929216421513; Tue, 25 Apr 2017 06:51:23 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0A4D32BFA6; Tue, 25 Apr 2017 13:51:21 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CBBD386D25; Tue, 25 Apr 2017 13:51:20 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 7969818523D4; Tue, 25 Apr 2017 13:51:20 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v3PDpECM022573 for ; Tue, 25 Apr 2017 09:51:14 -0400 Received: by smtp.corp.redhat.com (Postfix) id 8021D82464; Tue, 25 Apr 2017 13:51:14 +0000 (UTC) Received: from dhcp-17-113.lcy.redhat.com (unknown [10.42.17.113]) by smtp.corp.redhat.com (Postfix) with ESMTP id E198A82468; Tue, 25 Apr 2017 13:51:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 0A4D32BFA6 Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 0A4D32BFA6 From: "Daniel P. Berrange" To: libvir-list@redhat.com Date: Tue, 25 Apr 2017 14:51:08 +0100 Message-Id: <20170425135108.24954-3-berrange@redhat.com> In-Reply-To: <20170425135108.24954-1-berrange@redhat.com> References: <20170425135108.24954-1-berrange@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 2/2] Add ability to generate man page describing key code names & values X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 25 Apr 2017 13:51:22 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel P. Berrange --- libvirt.spec.in | 1 + mingw-libvirt.spec.in | 2 ++ src/Makefile.am | 41 +++++++++++++++++++++++++++++++++++++++-- tools/virsh.pod | 20 ++++++++++++++++++++ 4 files changed, 62 insertions(+), 2 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index 78c3c28..b249224 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -1777,6 +1777,7 @@ exit 0 %{_mandir}/man8/libvirtd.8* %{_mandir}/man8/virtlogd.8* %{_mandir}/man8/virtlockd.8* +%{_mandir}/man7/virkey*.7* =20 %doc examples/polkit/*.rules =20 diff --git a/mingw-libvirt.spec.in b/mingw-libvirt.spec.in index e088dc2..dec799b 100644 --- a/mingw-libvirt.spec.in +++ b/mingw-libvirt.spec.in @@ -259,6 +259,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-gue= sts.sh %{mingw32_mandir}/man1/virt-admin.1* %{mingw32_mandir}/man1/virt-xml-validate.1* %{mingw32_mandir}/man1/virt-pki-validate.1* +%{mingw32_mandir}/man7/virkey*.7* =20 %files -n mingw32-libvirt-static %{mingw32_libdir}/libvirt.a @@ -343,6 +344,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-gue= sts.sh %{mingw64_mandir}/man1/virt-admin.1* %{mingw64_mandir}/man1/virt-xml-validate.1* %{mingw64_mandir}/man1/virt-pki-validate.1* +%{mingw64_mandir}/man7/virkey*.7* =20 %files -n mingw64-libvirt-static %{mingw64_libdir}/libvirt.a diff --git a/src/Makefile.am b/src/Makefile.am index ebe822d..f68fc1d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -52,6 +52,8 @@ AM_LDFLAGS =3D $(DRIVER_MODULES_LDFLAGS) \ $(MINGW_EXTRA_LDFLAGS) \ $(NULL) =20 +POD2MAN =3D pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)" + EXTRA_DIST =3D $(conf_DATA) =20 BUILT_SOURCES =3D @@ -219,6 +221,36 @@ util/virkeynametable_%.h: $(srcdir)/keycodemapdb/data/= keymaps.csv \ $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \ mv $@-tmp $@ || rm -f $@-tmp =20 +util/virkeycode-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \ + $(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am + $(AM_V_GEN)export NAME=3D`echo $@ | sed -e 's,util/virkeycode-,,' \ + -e 's,\.pod,,'` && \ + $(MKDIR_P) util/ && \ + $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \ + --lang pod --varname "Key code values for $$NAME" code-docs \ + $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \ + $@-tmp && mv $@-tmp $@ || rm $@-tmp + +util/virkeyname-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \ + $(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am + $(AM_V_GEN)export NAME=3D`echo $@ | sed -e 's,util/virkeyname-,,' \ + -e 's,\.pod,,'` && \ + $(MKDIR_P) util/ && \ + $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \ + --lang pod --varname "Key name values for $$NAME" name-docs \ + $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \ + $@-tmp && mv $@-tmp $@ || rm $@-tmp + +util/virkey%.7: util/virkey%.pod + $(AM_V_GEN)$(POD2MAN) --section=3D7 $< $@-t1 && \ + if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \ + sed \ + -e 's|SYSCONFDIR|\@sysconfdir\@|g' \ + -e 's|LOCALSTATEDIR|\@localstatedir\@|g' \ + < $@-t1 > $@-t2 && \ + rm -f $@-t1 && \ + mv $@-t2 $@ + KEYCODES =3D linux osx atset1 atset2 atset3 xt xtkbd usb win32 rfb KEYNAMES =3D linux osx win32 =20 @@ -227,9 +259,16 @@ KEYTABLES =3D \ $(KEYNAMES:%=3Dutil/virkeynametable_%.h) \ $(NULL) =20 +KEYPODS =3D $(KEYCODES:%=3Dutil/virkeycode-%.pod) \ + $(KEYNAMES:%=3Dutil/virkeyname-%.pod) +KEYMANS =3D $(KEYPODS:%.pod=3D%.7) + +man7_MANS =3D $(KEYMANS) + UTIL_SOURCES +=3D $(KEYTABLES) BUILT_SOURCES +=3D $(KEYTABLES) MAINTAINERCLEANFILES +=3D $(KEYTABLES) +CLEANFILES +=3D $(KEYMANS) $(KEYPODS) =20 # Internal generic driver infrastructure DATATYPES_SOURCES =3D datatypes.h datatypes.c @@ -2834,8 +2873,6 @@ virtlogd.init: logging/virtlogd.init.in $(top_builddi= r)/config.status chmod a+x $@-t && \ mv $@-t $@ =20 -POD2MAN =3D pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)" - virtlockd.8.in: locking/virtlockd.pod $(AM_V_GEN)$(POD2MAN) --section=3D8 $< $@-t1 && \ if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \ diff --git a/tools/virsh.pod b/tools/virsh.pod index e16f62f..bba5fed 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -2082,11 +2082,15 @@ The numeric values are those defined by the Linux g= eneric input event subsystem. The symbolic names match the corresponding Linux key constant macro names. =20 +See L and L + =3Ditem B =20 The numeric values are those defined by the original XT keyboard controller. No symbolic names are provided =20 +See L + =3Ditem B =20 The numeric values are those defined by the AT keyboard controller, @@ -2094,22 +2098,30 @@ set 1 (aka XT compatible set). Extended keycoes fro= m B may differ from extended keycodes in the B codeset. No symbolic names are provided =20 +See L + =3Ditem B =20 The numeric values are those defined by the AT keyboard controller, set 2. No symbolic names are provided =20 +See L + =3Ditem B =20 The numeric values are those defined by the AT keyboard controller, set 3 (aka PS/2 compatible set). No symbolic names are provided =20 +See L + =3Ditem B =20 The numeric values are those defined by the OS-X keyboard input subsystem. The symbolic names match the corresponding OS-X key constant macro names =20 +See L and L + =3Ditem B =20 The numeric values are those defined by the Linux KBD device. @@ -2117,17 +2129,23 @@ These are a variant on the original XT codeset, but= often with different encoding for extended keycodes. No symbolic names are provided. =20 +See L + =3Ditem B =20 The numeric values are those defined by the Win32 keyboard input subsystem. The symbolic names match the corresponding Win32 key constant macro names =20 +See L and L + =3Ditem B =20 The numeric values are those defined by the USB HID specification for keyboard input. No symbolic names are provided =20 +See L + =3Ditem B =20 The numeric values are those defined by the RFB extension for sending @@ -2135,6 +2153,8 @@ raw keycodes. These are a variant on the XT codeset, = but extended keycodes have the low bit of the second byte set, instead of the high bit of the first byte. No symbolic names are provided. =20 +See L + =3Dback =20 B --=20 2.9.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list