<commit_before>/* ***************************************************************************
 * LCUI_Input.h -- The input devices handling module of LCUI
 * 
 * Copyright (C) 2013 by
 * <NAME>
 * 
 * This file is part of the LCUI project, and may only be used, modified, and
 * distributed under the terms of the GPLv2.
 * 
 * (GPLv2 is abbreviation of GNU General Public License Version 2)
 * 
 * By continuing to use, modify, or distribute this file you indicate that you
 * have read the license and understand and accept it fully.
 *  
 * The LCUI project is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GPL v2 for more details.
 * 
 * You should have received a copy of the GPLv2 along with this file. It is 
 * usually in the LICENSE.TXT file, If not, see <http://www.gnu.org/licenses/>.
 * ****************************************************************************/
 
/* ****************************************************************************
 * LCUI_Input.h -- LCUI的输入设备处理模块
 *
 * 版权所有 (C) 2013 归属于
 * 刘超
 * 
 * 这个文件是LCUI项目的一部分，并且只可以根据GPLv2许可协议来使用、更改和发布。
 *
 * (GPLv2 是 GNU通用公共许可证第二版 的英文缩写)
 * 
 * 继续使用、修改或发布本文件，表明您已经阅读并完全理解和接受这个许可协议。
 * 
 * LCUI 项目是基于使用目的而加以散布的，但不负任何担保责任，甚至没有适销性或特
 * 定用途的隐含担保，详情请参照GPLv2许可协议。
 *
 * 您应已收到附随于本文件的GPLv2许可协议的副本，它通常在LICENSE.TXT文件中，如果
 * 没有，请查看：<http://www.gnu.org/licenses/>. 
 * ****************************************************************************/

#ifndef __LCUI_INPUT_H__
#define __LCUI_INPUT_H__

#ifdef LCUI_KEYBOARD_DRIVER_LINUX

#define LCUIKEY_ESC		27
#define LCUIKEY_ENTER		10
#define LCUIKEY_BACKSPACE	127
#define LCUIKEY_DELETE		295
#define LCUIKEY_HOMEPAGE	293
#define LCUIKEY_END		296

#define LCUIKEY_SPACE	' '
#define LCUIKEY_0	'0'
#define LCUIKEY_1	'1'
#define LCUIKEY_2	'2'
#define LCUIKEY_3	'3'
#define LCUIKEY_4	'4'
#define LCUIKEY_5	'5'
#define LCUIKEY_6	'6'
#define LCUIKEY_7	'7'
#define LCUIKEY_8	'8'
#define LCUIKEY_9	'9'

#define LCUIKEY_A	'A'
#define LCUIKEY_B	'B'
#define LCUIKEY_C	'C'
#define LCUIKEY_D	'D'
#define LCUIKEY_E	'E'
#define LCUIKEY_F	'F'
#define LCUIKEY_G	'G'
#define LCUIKEY_H	'H'
#define LCUIKEY_I	'I'
#define LCUIKEY_J	'J'
#define LCUIKEY_K	'K'
#define LCUIKEY_L	'L'
#define LCUIKEY_M	'M'
#define LCUIKEY_N	'N'
#define LCUIKEY_O	'O'
#define LCUIKEY_P	'P'
#define LCUIKEY_Q	'Q'
#define LCUIKEY_R	'R'
#define LCUIKEY_S	'S'
#define LCUIKEY_T	'T'
#define LCUIKEY_U	'U'
#define LCUIKEY_V	'V'
#define LCUIKEY_W	'W'
#define LCUIKEY_X	'X'
#define LCUIKEY_Y	'Y'
#define LCUIKEY_Z	'Z'

#define LCUIKEY_a	'a'
#define LCUIKEY_b	'b'
#define LCUIKEY_c	'c'
#define LCUIKEY_d	'd'
#define LCUIKEY_e	'e'
#define LCUIKEY_f	'f'
#define LCUIKEY_g	'g'
#define LCUIKEY_h	'h'
#define LCUIKEY_i	'i'
#define LCUIKEY_j	'j'
#define LCUIKEY_k	'k'
#define LCUIKEY_l	'l'
#define LCUIKEY_m	'm'
#define LCUIKEY_n	'n'
#define LCUIKEY_o	'o'
#define LCUIKEY_p	'p'
#define LCUIKEY_q	'q'
#define LCUIKEY_r	'r'
#define LCUIKEY_s	's'
#define LCUIKEY_t	'i'
#define LCUIKEY_u	'u'
#define LCUIKEY_v	'v'
#define LCUIKEY_w	'w'
#define LCUIKEY_x	'x'
#define LCUIKEY_y	'y'
#define LCUIKEY_z	'z'


/* 这个是诺亚舟NP1500学习机的游戏键A和B键的键值 */
#define KEY_AA      342
#define KEY_BB      343

#define _PC_
#ifndef _PC_
#define LCUIKEY_DOWN	172
#define LCUIKEY_UP	171
#define LCUIKEY_LEFT	174
#define LCUIKEY_RIGHT	173
#else
#define LCUIKEY_DOWN    184
#define LCUIKEY_UP      183
#define LCUIKEY_LEFT    186
#define LCUIKEY_RIGHT   185
#endif

#else /* WIN32 的键盘键值 */
#include <winuser.h>

#define LCUIKEY_ESC		VK_ESCAPE
#define LCUIKEY_ENTER		VK_RETURN
#define LCUIKEY_BACKSPACE	VK_BACK
#define LCUIKEY_DELETE		VK_DELETE
#define LCUIKEY_HOMEPAGE	VK_HOME
#define LCUIKEY_END		VK_END
#define LCUIKEY_SPACE		VK_SPACE
#define LCUIKEY_TAB		VK_TAB

#define LCUIKEY_DOWN    VK_DOWN
#define LCUIKEY_UP      VK_UP
#define LCUIKEY_LEFT    VK_LEFT
#define LCUIKEY_RIGHT   VK_RIGHT

#endif

#define LCUIKEY_LEFTBUTTON	1
#define LCUIKEY_RIGHTBUTTON	2
#define LCUIKEYSTATE_PRESSED	1
#define LCUIKEYSTATE_RELEASE	0

LCUI_BEGIN_HEADER

/****************************** Mouse *********************************/
/*<commit_msg>修改键值宏定义<commit_after>/* ***************************************************************************
 * LCUI_Input.h -- The input devices handling module of LCUI
 * 
 * Copyright (C) 2013 by
 * <NAME>
 * 
 * This file is part of the LCUI project, and may only be used, modified, and
 * distributed under the terms of the GPLv2.
 * 
 * (GPLv2 is abbreviation of GNU General Public License Version 2)
 * 
 * By continuing to use, modify, or distribute this file you indicate that you
 * have read the license and understand and accept it fully.
 *  
 * The LCUI project is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GPL v2 for more details.
 * 
 * You should have received a copy of the GPLv2 along with this file. It is 
 * usually in the LICENSE.TXT file, If not, see <http://www.gnu.org/licenses/>.
 * ****************************************************************************/
 
/* ****************************************************************************
 * LCUI_Input.h -- LCUI的输入设备处理模块
 *
 * 版权所有 (C) 2013 归属于
 * 刘超
 * 
 * 这个文件是LCUI项目的一部分，并且只可以根据GPLv2许可协议来使用、更改和发布。
 *
 * (GPLv2 是 GNU通用公共许可证第二版 的英文缩写)
 * 
 * 继续使用、修改或发布本文件，表明您已经阅读并完全理解和接受这个许可协议。
 * 
 * LCUI 项目是基于使用目的而加以散布的，但不负任何担保责任，甚至没有适销性或特
 * 定用途的隐含担保，详情请参照GPLv2许可协议。
 *
 * 您应已收到附随于本文件的GPLv2许可协议的副本，它通常在LICENSE.TXT文件中，如果
 * 没有，请查看：<http://www.gnu.org/licenses/>. 
 * ****************************************************************************/

#ifndef __LCUI_INPUT_H__
#define __LCUI_INPUT_H__

#define LCUIKEY_SPACE	' '
#define LCUIKEY_0	'0'
#define LCUIKEY_1	'1'
#define LCUIKEY_2	'2'
#define LCUIKEY_3	'3'
#define LCUIKEY_4	'4'
#define LCUIKEY_5	'5'
#define LCUIKEY_6	'6'
#define LCUIKEY_7	'7'
#define LCUIKEY_8	'8'
#define LCUIKEY_9	'9'

#define LCUIKEY_A	'A'
#define LCUIKEY_B	'B'
#define LCUIKEY_C	'C'
#define LCUIKEY_D	'D'
#define LCUIKEY_E	'E'
#define LCUIKEY_F	'F'
#define LCUIKEY_G	'G'
#define LCUIKEY_H	'H'
#define LCUIKEY_I	'I'
#define LCUIKEY_J	'J'
#define LCUIKEY_K	'K'
#define LCUIKEY_L	'L'
#define LCUIKEY_M	'M'
#define LCUIKEY_N	'N'
#define LCUIKEY_O	'O'
#define LCUIKEY_P	'P'
#define LCUIKEY_Q	'Q'
#define LCUIKEY_R	'R'
#define LCUIKEY_S	'S'
#define LCUIKEY_T	'T'
#define LCUIKEY_U	'U'
#define LCUIKEY_V	'V'
#define LCUIKEY_W	'W'
#define LCUIKEY_X	'X'
#define LCUIKEY_Y	'Y'
#define LCUIKEY_Z	'Z'

#ifdef LCUI_KEYBOARD_DRIVER_LINUX

#define LCUIKEY_ESC		27
#define LCUIKEY_ENTER		10
#define LCUIKEY_BACKSPACE	127
#define LCUIKEY_DELETE		295
#define LCUIKEY_HOMEPAGE	293
#define LCUIKEY_END		296


/* 这个是诺亚舟NP1500学习机的游戏键A和B键的键值 */
#define KEY_AA      342
#define KEY_BB      343

#define _PC_
#ifndef _PC_
#define LCUIKEY_DOWN	172
#define LCUIKEY_UP	171
#define LCUIKEY_LEFT	174
#define LCUIKEY_RIGHT	173
#else
#define LCUIKEY_DOWN    184
#define LCUIKEY_UP      183
#define LCUIKEY_LEFT    186
#define LCUIKEY_RIGHT   185
#endif

#else /* WIN32 的键盘键值 */
#include <winuser.h>

#define LCUIKEY_ESC		VK_ESCAPE
#define LCUIKEY_ENTER		VK_RETURN
#define LCUIKEY_BACKSPACE	VK_BACK
#define LCUIKEY_DELETE		VK_DELETE
#define LCUIKEY_HOMEPAGE	VK_HOME
#define LCUIKEY_END		VK_END
#define LCUIKEY_TAB		VK_TAB

#define LCUIKEY_DOWN		VK_DOWN
#define LCUIKEY_UP		VK_UP
#define LCUIKEY_LEFT		VK_LEFT
#define LCUIKEY_RIGHT		VK_RIGHT

#define LCUIKEY_CAPITAL		VK_CAPITAL
#define LCUIKEY_SHIFT		VK_SHIFT
#define LCUIKEY_CONTROL		VK_CONTROL

#endif

#define LCUIKEY_LEFTBUTTON	1
#define LCUIKEY_RIGHTBUTTON	2
#define LCUIKEYSTATE_PRESSED	1
#define LCUIKEYSTATE_RELEASE	0

LCUI_BEGIN_HEADER

/****************************** Mouse *********************************/
/*
{'fraction_non_alphanumeric': 0.17488846398980243, 'fraction_numerical': 0.023709369024856597, 'mean_word_length': 5.327419354838709, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '890803', 'n_tokens_mistral': 3687, 'n_tokens_neox': 3475, 'n_words': 834}