/*
* ReactOS Czech ASCII Keyboard layout
* Copyright (C) 2008 ReactOS
* License: LGPL, see: LGPL.txt
*
* Based on kbdcz1.dll and kbdsk.dll
* modified by Radek Liska (radekliska att gmail ddot com)
*/
#define WIN32_NO_STATUS
#include <stdarg.h>
#include <windef.h>
#include <winuser.h>
#include <ndk/kbd.h>
#ifdef _M_IA64
#define ROSDATA static __declspec(allocate(".data"))
#else
#ifdef _MSC_VER
#pragma data_seg(".data")
#define ROSDATA static
#else
#define ROSDATA static __attribute__((section(".data")))
#endif
#endif
#define VK_EMPTY 0xff /* The non-existent VK */
#define KNUMS KBDNUMPAD|KBDSPECIAL /* Special + number pad */
#define KMEXT KBDEXT|KBDMULTIVK /* Multi + ext */
ROSDATA USHORT scancode_to_vk[] = {
/* Numbers Row */
/* - 00 - */
/* 1 ... 2 ... 3 ... 4 ... */
VK_EMPTY, VK_ESCAPE, '1', '2',
'3', '4', '5', '6',
'7', '8', '9', '0',
VK_OEM_MINUS, VK_OEM_PLUS, VK_BACK,
/* - 0f - */
/* First Letters Row */
VK_TAB, 'Q', 'W', 'E',
'R', 'T', 'Z', 'U',
'I', 'O', 'P',
VK_OEM_4, VK_OEM_6, VK_RETURN,
/* - 1d - */
/* Second Letters Row */
VK_LCONTROL,
'A', 'S', 'D', 'F',
'G', 'H', 'J', 'K',
'L', VK_OEM_1, VK_OEM_7, VK_OEM_3,
VK_LSHIFT, VK_OEM_5,
/* - 2c - */
/* Third letters row */
'Y', 'X', 'C', 'V',
'B', 'N', 'M', VK_OEM_COMMA,
VK_OEM_PERIOD,VK_OEM_2, VK_RSHIFT,
/* - 37 - */
/* Bottom Row */
VK_MULTIPLY, VK_LMENU, VK_SPACE, VK_CAPITAL,
/* - 3b - */
/* F-Keys */
VK_F1, VK_F2, VK_F3, VK_F4, VK_F5, VK_F6,
VK_F7, VK_F8, VK_F9, VK_F10,
/* - 45 - */
/* Locks */
VK_NUMLOCK | KMEXT,
VK_SCROLL | KBDMULTIVK,
/* - 47 - */
/* Number-Pad */
VK_HOME | KNUMS, VK_UP | KNUMS, VK_PRIOR | KNUMS, VK_SUBTRACT,
VK_LEFT | KNUMS, VK_CLEAR | KNUMS, VK_RIGHT | KNUMS, VK_ADD,
VK_END | KNUMS, VK_DOWN | KNUMS, VK_NEXT | KNUMS,
VK_INSERT | KNUMS, VK_DELETE | KNUMS,
/* - 54 - */
/* Presumably PrtSc */
VK_SNAPSHOT,
/* - 55 - */
/* Oddities, and the remaining standard F-Keys */
VK_EMPTY, VK_OEM_102, VK_F11, VK_F12,
/* - 59 - */
VK_CLEAR, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* EREOF */
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* ZOOM */
VK_HELP,
/* - 64 - */
/* Even more F-Keys (for example, NCR keyboards from the early 90's) */
VK_F13, VK_F14, VK_F15, VK_F16, VK_F17, VK_F18, VK_F19, VK_F20,
VK_F21, VK_F22, VK_F23,
/* - 6f - */
/* Not sure who uses these codes */
VK_EMPTY, VK_EMPTY, VK_EMPTY,
/* - 72 - */
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY,
/* - 76 - */
/* One more f-key */
VK_F24,
/* - 77 - */
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY,
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* PA1 */
VK_EMPTY,
/* - 80 - */
0
};
ROSDATA VSC_VK extcode0_to_vk[] = {
{ 0x10, VK_MEDIA_PREV_TRACK | KBDEXT },
{ 0x19, VK_MEDIA_NEXT_TRACK | KBDEXT },
{ 0x1D, VK_RCONTROL | KBDEXT },
{ 0x20, VK_VOLUME_MUTE | KBDEXT },
{ 0x21, VK_LAUNCH_APP2 | KBDEXT },
{ 0x22, VK_MEDIA_PLAY_PAUSE | KBDEXT },
{ 0x24, VK_MEDIA_STOP | KBDEXT },
{ 0x2E, VK_VOLUME_DOWN | KBDEXT },
{ 0x30, VK_VOLUME_UP | KBDEXT },
{ 0x32, VK_BROWSER_HOME | KBDEXT },
{ 0x35, VK_DIVIDE | KBDEXT },
{ 0x37, VK_SNAPSHOT | KBDEXT },
{ 0x38, VK_RMENU | KBDEXT },
{ 0x47, VK_HOME | KBDEXT },
{ 0x48, VK_UP | KBDEXT },
{ 0x49, VK_PRIOR | KBDEXT },
{ 0x4B, VK_LEFT | KBDEXT },
{ 0x4D, VK_RIGHT | KBDEXT },
{ 0x4F, VK_END | KBDEXT },
{ 0x50, VK_DOWN | KBDEXT },
{ 0x51, VK_NEXT | KBDEXT },
{ 0x52, VK_INSERT | KBDEXT },
{ 0x53, VK_DELETE | KBDEXT },
{ 0x5B, VK_LWIN | KBDEXT },
{ 0x5C, VK_RWIN | KBDEXT },
{ 0x5D, VK_APPS | KBDEXT },
{ 0x5F, VK_SLEEP | KBDEXT },
{ 0x65, VK_BROWSER_SEARCH | KBDEXT },
{ 0x66, VK_BROWSER_FAVORITES | KBDEXT },
{ 0x67, VK_BROWSER_REFRESH | KBDEXT },
{ 0x68, VK_BROWSER_STOP | KBDEXT },
{ 0x69, VK_BROWSER_FORWARD | KBDEXT },
{ 0x6A, VK_BROWSER_BACK | KBDEXT },
{ 0x6B, VK_LAUNCH_APP1 | KBDEXT },
{ 0x6C, VK_LAUNCH_MAIL | KBDEXT },
{ 0x6D, VK_LAUNCH_MEDIA_SELECT | KBDEXT },
{ 0x1C, VK_RETURN | KBDEXT },
{ 0x46, VK_CANCEL | KBDEXT },
{ 0, 0 },
};
ROSDATA VSC_VK extcode1_to_vk[] = {
{ 0x1d, VK_PAUSE },
{ 0, 0 },
};
ROSDATA VK_TO_BIT modifier_keys[] = {
{ VK_SHIFT, KBDSHIFT },
{ VK_CONTROL, KBDCTRL },
{ VK_MENU, KBDALT },
{ 0, 0 }
};
ROSDATA MODIFIERS modifier_bits = {
modifier_keys,
7,
{ 0, 1, 2, 0, 0, 0, 3, 0 }
/* Modifier bit order: NONE, SHIFT, CTRL, SHIFT-CTRL, ALT (not used), SHIFT-ALT (not used), CTRL-ALT, SHIFT-CTRL-ALT */
};
ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[] = {
/* Keys that do not have shift states */
{ VK_TAB, 0, {'\t', '\t' } },
{ VK_ADD, 0, {'+', '+' } },
{ VK_SUBTRACT, 0, {'-', '-' } },
{ VK_MULTIPLY, 0, {'*', '*' } },
{ VK_DIVIDE, 0, {'/', '/' } },
{ VK_ESCAPE, 0, {0x1b, 0x1b} },
{ VK_SPACE, 0, {' ', ' ' } },
{ 0, 0 }
};
ROSDATA VK_TO_WCHARS3 key_to_chars_3mod[] = {
/* normal - shift - ctrl */
/* Legacy (telnet-style) ascii escapes */
{ VK_OEM_102, 0, {'\\', '|', 0x1c /*FS*/} },
{ VK_RETURN, 0, {'\r', '\r', '\n' } },
{ 0,0 }
};
ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[] = {
/* Normal, shifted, control, Alt+Gr */
/* The numbers */
{ '1', 0, { '+', '1', WCH_NONE, '~' } },
{ '2', 0, { 0x011b, '2', 0, WCH_DEAD } }, // e with caron
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x02c7 } }, // 2 dead letter
{ '3', 0, { 0x0161, '3', WCH_NONE, WCH_DEAD } }, // s with caron
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x005e } }, // 3 dead letter
{ '4', 0, { 0x010d, '4', WCH_NONE, WCH_DEAD } }, // c with caron
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x02d8 } }, // 4 dead letter
{ '5', 0, { 0x0159, '5', WCH_NONE, WCH_DEAD } }, // r with caron
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x00b0 } }, // 5 dead letter
{ '6', 0, { 0x017e, '6', 0x1e, WCH_DEAD } }, // z with caron
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x02db } }, // 6 dead letter
{ '7', 0, { 0x00fd, '7', WCH_NONE, WCH_DEAD } }, // y with acute
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, '`' } }, // 7 dead letter
{ '8', 0, { 0x00e1, '8', WCH_NONE, WCH_DEAD } }, // a with acute
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x00b7 } }, // 8 dead letter
{ '9', 0, { 0x00ed, '9', WCH_NONE, WCH_DEAD } }, // i with acute
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x00b4 } }, // 9 dead letter
{ '0', 0, { 0x00e9, '0', WCH_NONE, WCH_DEAD } }, // e with acute
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x02dd } }, // 0 dead letter
/* The misc */
{ VK_OEM_MINUS, 0, { '=', '%', WCH_NONE, WCH_DEAD } }, // diaeresis
{ VK_EMPTY, 0, { WCH_NONE, WCH_NONE, WCH_NONE, 0x00a8 } }, // VK_OEM_MINUS dead letter
{ VK_OEM_PLUS, 0, { WCH_DEAD, WCH_DEAD, WCH_NONE, 0x00b8 } }, // dead letters - acute, caron
{ VK_EMPTY, 0, { 0x00b4, 0x02c7, WCH_NONE, WCH_NONE } }, // VK_OEM_PLUS dead letter
{ VK_OEM_1, 0, { 0x016f, '\"', WCH_NONE, '$' } }, // u with ring
{ VK_OEM_7, 0, { '§', '!', WCH_NONE, 0x00df } }, // section sign
{ VK_OEM_4, 0, { 0x00fa, '/', WCH_NONE, 0x00f7 } }, // u with acute
{ VK_OEM_5, 0,
没有合适的资源?快使用搜索试试~ 我知道了~
ReactOS_Fix
共357个文件
nls:138个
h:134个
rc:81个
4星 · 超过85%的资源 需积分: 14 138 下载量 60 浏览量
2014-08-08
17:33:20
上传
评论 2
收藏 504KB ZIP 举报
温馨提示
VS2012编译ReactOS时会出现错误, 解压缩覆盖相应文件即可
资源推荐
资源详情
资源评论
收起资源包目录
ReactOS_Fix (357个子文件)
kbdcz.c 17KB
kbdhu.c 11KB
CMakeMacros.cmake 15KB
el-GR.h 79KB
bg-BG.h 79KB
uk-UA.h 77KB
ru-RU.h 76KB
ja-JP.h 42KB
sk-SK.h 40KB
fr-FR.h 38KB
ro-RO.h 38KB
pt-BR.h 38KB
cs-CZ.h 38KB
nl-NL.h 38KB
pl-PL.h 38KB
es-ES.h 37KB
de-DE.h 37KB
it-IT.h 37KB
sv-SE.h 36KB
he-IL.h 36KB
lt-LT.h 36KB
en-US.h 35KB
et-EE.h 35KB
zh-CN.h 258B
th-TH.h 227B
zh-SG.h 227B
zh-MO.h 196B
zh-TW.h 196B
hy-AM.h 196B
en-CA.h 165B
hi-IN.h 165B
te-IN.h 165B
tt-TA.h 165B
kk-KZ.h 165B
tr-TR.h 165B
gu-IN.h 165B
fa-IR.h 165B
mr-IN.h 165B
be-BY.h 165B
kn-IN.h 165B
az-AZ.h 165B
uz-UZ.h 165B
de-LI.h 165B
ka-GE.h 165B
pa-IN.h 165B
ko-KR.h 136B
syr-SY.h 135B
kok-IN.h 135B
ar-MA.h 134B
my-MM.h 134B
es-NI.h 134B
ta-IN.h 134B
sa-IN.h 134B
rm-CH.h 134B
ca-ES.h 134B
es-CO.h 134B
ar-LB.h 134B
pt-PT.h 134B
it-CH.h 134B
sl-SI.h 134B
gl-ES.h 134B
af-ZA.h 134B
ar-TN.h 134B
wa-BE.h 134B
nn-NO.h 134B
ar-SA.h 134B
es-PA.h 134B
es-GT.h 134B
mk-MK.h 134B
fr-LU.h 134B
ar-SY.h 134B
ar-KW.h 134B
eo-AA.h 134B
es-AR.h 134B
fi-FI.h 134B
es-SV.h 134B
vi-VN.h 134B
es-BO.h 134B
es-DO.h 134B
hu-HU.h 134B
mn-MN.h 134B
es-PE.h 134B
ar-BH.h 134B
fr-CA.h 134B
ar-QA.h 134B
es-EC.h 134B
es-CR.h 134B
sq-AL.h 134B
ar-OM.h 134B
ur-PK.h 134B
fo-FO.h 134B
es-VE.h 134B
fr-MC.h 134B
fr-BE.h 134B
dv-MV.h 134B
en-IE.h 134B
de-LU.h 134B
id-ID.h 134B
fr-CH.h 134B
ar-LY.h 134B
共 357 条
- 1
- 2
- 3
- 4
资源评论
- yuyangdy2015-04-19什么情况啊,下载不了,是不是文件不存在了。
- qq653335512016-01-14非常好的东东,你值得拥有
- lyingson2016-12-13reactos换了个版本,您分享的这些文件就不能直接覆盖过去了,所以请问这个编码问题您是如何解决的呢?
Oo璀璨星海oO
- 粉丝: 234
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功