From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lfipi-0007A6-Cj for qemu-devel@nongnu.org; Fri, 06 Mar 2009 17:47:58 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lfipg-00079N-12 for qemu-devel@nongnu.org; Fri, 06 Mar 2009 17:47:57 -0500 Received: from [199.232.76.173] (port=59743 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lfipf-00079K-Rb for qemu-devel@nongnu.org; Fri, 06 Mar 2009 17:47:55 -0500 Received: from savannah.gnu.org ([199.232.41.3]:45120 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lfipf-0000H8-Gw for qemu-devel@nongnu.org; Fri, 06 Mar 2009 17:47:55 -0500 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Lfipe-0000fm-Rq for qemu-devel@nongnu.org; Fri, 06 Mar 2009 22:47:54 +0000 Received: from aliguori by cvs.savannah.gnu.org with local (Exim 4.69) (envelope-from ) id 1Lfipe-0000fh-Hw for qemu-devel@nongnu.org; Fri, 06 Mar 2009 22:47:54 +0000 MIME-Version: 1.0 Errors-To: aliguori Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Anthony Liguori Message-Id: Date: Fri, 06 Mar 2009 22:47:54 +0000 Subject: [Qemu-devel] [6730] Add missing file from previous commit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 6730 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6730 Author: aliguori Date: 2009-03-06 22:47:54 +0000 (Fri, 06 Mar 2009) Log Message: ----------- Add missing file from previous commit Signed-off-by: Anthony Liguori Added Paths: ----------- trunk/keymaps.h Added: trunk/keymaps.h =================================================================== --- trunk/keymaps.h (rev 0) +++ trunk/keymaps.h 2009-03-06 22:47:54 UTC (rev 6730) @@ -0,0 +1,60 @@ +/* + * QEMU keysym to keycode conversion using rdesktop keymaps + * + * Copyright (c) 2004 Johannes Schindelin + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef __QEMU_KEYMAPS_H__ +#define __QEMU_KEYMAPS_H__ + +#include "qemu-common.h" + +typedef struct { + const char* name; + int keysym; +} name2keysym_t; + +struct key_range { + int start; + int end; + struct key_range *next; +}; + +#define MAX_NORMAL_KEYCODE 512 +#define MAX_EXTRA_COUNT 256 +typedef struct { + uint16_t keysym2keycode[MAX_NORMAL_KEYCODE]; + struct { + int keysym; + uint16_t keycode; + } keysym2keycode_extra[MAX_EXTRA_COUNT]; + int extra_count; + struct key_range *keypad_range; + struct key_range *numlock_range; +} kbd_layout_t; + + +void *init_keyboard_layout(const name2keysym_t *table, const char *language); +int keysym2scancode(void *kbd_layout, int keysym); +int keycode_is_keypad(void *kbd_layout, int keycode); +int keysym_is_numlock(void *kbd_layout, int keysym); + +#endif /* __QEMU_KEYMAPS_H__ */