Index: base/applications/osk =================================================================== --- base/applications/osk (revision 0) +++ base/applications/osk (working copy) Property changes on: base/applications/osk ___________________________________________________________________ Added: tsvn:logminsize ## -0,0 +1 ## +10 \ No newline at end of property Added: bugtraq:logregex ## -0,0 +1,2 ## +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+) \ No newline at end of property Added: bugtraq:url ## -0,0 +1 ## +http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID% \ No newline at end of property Added: bugtraq:message ## -0,0 +1 ## +See issue #%BUGID% for more details. \ No newline at end of property Index: base/applications/osk/lang =================================================================== --- base/applications/osk/lang (revision 0) +++ base/applications/osk/lang (working copy) Property changes on: base/applications/osk/lang ___________________________________________________________________ Added: bugtraq:logregex ## -0,0 +1,2 ## +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+) \ No newline at end of property Added: bugtraq:url ## -0,0 +1 ## +http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID% \ No newline at end of property Added: bugtraq:message ## -0,0 +1 ## +See issue #%BUGID% for more details. \ No newline at end of property Added: tsvn:logminsize ## -0,0 +1 ## +10 \ No newline at end of property Index: base/applications/osk/lang/ar-DZ.rc =================================================================== --- base/applications/osk/lang/ar-DZ.rc (revision 0) +++ base/applications/osk/lang/ar-DZ.rc (working copy) @@ -0,0 +1,128 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/lang/ar-DZ.rc + * PURPOSE: Arabic (Algeria) translation for On screen keyboard + * PROGRAMMERS: Denis ROBERT + */ + +LANGUAGE LANG_ARABIC, SUBLANG_DEFAULT + +MAIN_DIALOG DIALOG DISCARDABLE 0, 0, 404, 108 +CAPTION "On screen keyboard" +FONT 8, "MS Sans Serif" +EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +BEGIN + PUSHBUTTON "Esc",SCAN_CODE_110,3,3,14,13 + PUSHBUTTON "F1",SCAN_CODE_112,39,3,14,13 + PUSHBUTTON "F2",SCAN_CODE_113,56,3,14,13 + PUSHBUTTON "F3",SCAN_CODE_114,74,3,14,13 + PUSHBUTTON "F4",SCAN_CODE_115,92,3,14,13 + PUSHBUTTON "F5",SCAN_CODE_116,117,3,14,13 + PUSHBUTTON "F6",SCAN_CODE_117,135,3,14,13 + PUSHBUTTON "F7",SCAN_CODE_118,152,3,14,13 + PUSHBUTTON "F8",SCAN_CODE_119,170,3,14,13 + PUSHBUTTON "F9",SCAN_CODE_120,195,3,14,13 + PUSHBUTTON "F10",SCAN_CODE_121,213,3,14,13 + PUSHBUTTON "F11",SCAN_CODE_122,231,3,14,13 + PUSHBUTTON "F12",SCAN_CODE_123,248,3,14,13 + PUSHBUTTON "Prn",SCAN_CODE_124,273,3,14,13 + PUSHBUTTON "Stop",SCAN_CODE_125,291,3,14,13 + PUSHBUTTON "Attn",SCAN_CODE_126,309,3,14,13 + PUSHBUTTON "ذ",SCAN_CODE_1,3,26,14,13 + PUSHBUTTON "1",SCAN_CODE_2,21,26,14,13 + PUSHBUTTON "2",SCAN_CODE_3,39,26,14,13 + PUSHBUTTON "3",SCAN_CODE_4,56,26,14,13 + PUSHBUTTON "4",SCAN_CODE_5,74,26,14,13 + PUSHBUTTON "5",SCAN_CODE_6,92,26,14,13 + PUSHBUTTON "6",SCAN_CODE_7,110,26,14,13 + PUSHBUTTON "7",SCAN_CODE_8,128,26,14,13 + PUSHBUTTON "8",SCAN_CODE_9,145,26,14,13 + PUSHBUTTON "9",SCAN_CODE_10,163,26,14,13 + PUSHBUTTON "0",SCAN_CODE_11,181,26,14,13 + PUSHBUTTON "-",SCAN_CODE_12,199,26,14,13 + PUSHBUTTON "=",SCAN_CODE_13,216,26,14,13 + PUSHBUTTON "<--",SCAN_CODE_15,234,26,28,13,BS_ICON + PUSHBUTTON "Tab",SCAN_CODE_16,3,43,21,13,BS_ICON + PUSHBUTTON "ض",SCAN_CODE_17,28,43,14,13 + PUSHBUTTON "ص",SCAN_CODE_18,46,43,14,13 + PUSHBUTTON "ث",SCAN_CODE_19,64,43,14,13 + PUSHBUTTON "ق",SCAN_CODE_20,81,43,14,13 + PUSHBUTTON "ف",SCAN_CODE_21,99,43,14,13 + PUSHBUTTON "غ",SCAN_CODE_22,117,43,14,13 + PUSHBUTTON "ع",SCAN_CODE_23,135,43,14,13 + PUSHBUTTON "ه",SCAN_CODE_24,152,43,14,13 + PUSHBUTTON "خ",SCAN_CODE_25,170,43,14,13 + PUSHBUTTON "ح",SCAN_CODE_26,188,43,14,13 + PUSHBUTTON "ج",SCAN_CODE_27,206,43,14,13 + PUSHBUTTON "د",SCAN_CODE_28,224,43,14,13 + PUSHBUTTON "\\",SCAN_CODE_29,242,43,20,13 + PUSHBUTTON "Verr maj",SCAN_CODE_30,3,60,28,13,BS_ICON + PUSHBUTTON "ش",SCAN_CODE_31,35,60,14,13 + PUSHBUTTON "س",SCAN_CODE_32,53,60,14,13 + PUSHBUTTON "ي",SCAN_CODE_33,71,60,14,13 + PUSHBUTTON "ب",SCAN_CODE_34,88,60,14,13 + PUSHBUTTON "ل",SCAN_CODE_35,106,60,14,13 + PUSHBUTTON "ا",SCAN_CODE_36,124,60,14,13 + PUSHBUTTON "ت",SCAN_CODE_37,142,60,14,13 + PUSHBUTTON "ن",SCAN_CODE_38,160,60,14,13 + PUSHBUTTON "م",SCAN_CODE_39,177,60,14,13 + PUSHBUTTON "ك",SCAN_CODE_40,195,60,14,13 + PUSHBUTTON "ط",SCAN_CODE_41,213,60,14,13 + PUSHBUTTON "ret",SCAN_CODE_43,231,60,31,13,BS_ICON + PUSHBUTTON "shift",SCAN_CODE_44,3,77,35,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ئ",SCAN_CODE_46,42,77,14,13 + PUSHBUTTON "ء",SCAN_CODE_47,60,77,14,13 + PUSHBUTTON "ؤ",SCAN_CODE_48,78,77,14,13 + PUSHBUTTON "ر",SCAN_CODE_49,96,77,14,13 + PUSHBUTTON "ﻻ",SCAN_CODE_50,113,77,14,13 + PUSHBUTTON "ﻯ",SCAN_CODE_51,131,77,14,13 + PUSHBUTTON "ﺓ",SCAN_CODE_52,149,77,14,13 + PUSHBUTTON "و",SCAN_CODE_53,167,77,14,13 + PUSHBUTTON "ز",SCAN_CODE_54,184,77,14,13 + PUSHBUTTON "ظ",SCAN_CODE_55,202,77,14,13 + PUSHBUTTON "shift",SCAN_CODE_57,220,77,43,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ctrl",SCAN_CODE_58,3,94,25,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_127,32,94,18,13,BS_ICON + PUSHBUTTON "alt",SCAN_CODE_60,53,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "",SCAN_CODE_61,74,94,100,13 + PUSHBUTTON "alt gr",SCAN_CODE_62,177,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_128,199,94,18,13,BS_ICON + PUSHBUTTON "menu",SCAN_CODE_129,220,94,18,13,BS_ICON + PUSHBUTTON "ctrl",SCAN_CODE_64,241,94,21,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ins",SCAN_CODE_75,273,26,14,13 + PUSHBUTTON "del",SCAN_CODE_76,273,43,14,13 + PUSHBUTTON "home",SCAN_CODE_80,291,26,14,13,BS_ICON + PUSHBUTTON "end",SCAN_CODE_81,291,43,14,13 + PUSHBUTTON "pg AR",SCAN_CODE_85,309,26,14,13,BS_ICON + PUSHBUTTON "pg AV",SCAN_CODE_86,309,43,14,13,BS_ICON + PUSHBUTTON "<-",SCAN_CODE_79,273,94,14,13,BS_ICON + PUSHBUTTON "^",SCAN_CODE_83,291,77,14,13,BS_ICON + PUSHBUTTON "v",SCAN_CODE_84,291,94,14,13,BS_ICON + PUSHBUTTON "->",SCAN_CODE_89,309,94,14,13,BS_ICON + PUSHBUTTON "num",SCAN_CODE_90,334,26,14,13 + PUSHBUTTON "7",SCAN_CODE_91,334,43,14,13 + PUSHBUTTON "4",SCAN_CODE_92,334,60,14,13 + PUSHBUTTON "1",SCAN_CODE_93,334,77,14,13 + PUSHBUTTON "/",SCAN_CODE_95,352,26,14,13 + PUSHBUTTON "8",SCAN_CODE_96,352,43,14,13 + PUSHBUTTON "5",SCAN_CODE_97,352,60,14,13 + PUSHBUTTON "2",SCAN_CODE_98,352,77,14,13 + PUSHBUTTON "0",SCAN_CODE_99,334,94,32,13 + PUSHBUTTON "*",SCAN_CODE_100,369,26,14,13 + PUSHBUTTON "9",SCAN_CODE_101,369,43,14,13 + PUSHBUTTON "6",SCAN_CODE_102,369,60,14,13 + PUSHBUTTON "3",SCAN_CODE_103,369,77,14,13 + PUSHBUTTON ".",SCAN_CODE_104,369,94,14,13 + PUSHBUTTON "-",SCAN_CODE_105,387,26,14,13 + PUSHBUTTON "+",SCAN_CODE_106,387,43,14,30 + PUSHBUTTON "ent",SCAN_CODE_108,387,77,14,30 + CTEXT "Num",IDC_STATIC,334,4,18,8 + CONTROL "",IDC_LED_NUM,"Static","",341,16,4,3 + CTEXT "Caps",IDC_STATIC,359,4,18,8 + CONTROL "",IDC_LED_CAPS,"Static","",366,16,4,3 + CTEXT "Scroll",IDC_STATIC,384,4,18,8 + CONTROL "",IDC_LED_SCROLL,"Static","",391,16,4,3 +END + +/* EOF */ Index: base/applications/osk/lang/en-GB.rc =================================================================== --- base/applications/osk/lang/en-GB.rc (revision 0) +++ base/applications/osk/lang/en-GB.rc (working copy) @@ -0,0 +1,129 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/lang/en-GB.rc + * PURPOSE: On screen keyboard (English resources) + * PROGRAMMERS: Denis ROBERT + */ + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK + +MAIN_DIALOG DIALOG DISCARDABLE 0, 0, 404, 108 +CAPTION "Clavier visuel" +FONT 8, "MS Sans Serif" +EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +BEGIN + PUSHBUTTON "Ech",SCAN_CODE_110,3,3,14,13 + PUSHBUTTON "F1",SCAN_CODE_112,39,3,14,13 + PUSHBUTTON "F2",SCAN_CODE_113,56,3,14,13 + PUSHBUTTON "F3",SCAN_CODE_114,74,3,14,13 + PUSHBUTTON "F4",SCAN_CODE_115,92,3,14,13 + PUSHBUTTON "F5",SCAN_CODE_116,117,3,14,13 + PUSHBUTTON "F6",SCAN_CODE_117,135,3,14,13 + PUSHBUTTON "F7",SCAN_CODE_118,152,3,14,13 + PUSHBUTTON "F8",SCAN_CODE_119,170,3,14,13 + PUSHBUTTON "F9",SCAN_CODE_120,195,3,14,13 + PUSHBUTTON "F10",SCAN_CODE_121,213,3,14,13 + PUSHBUTTON "F11",SCAN_CODE_122,231,3,14,13 + PUSHBUTTON "F12",SCAN_CODE_123,248,3,14,13 + PUSHBUTTON "Prn",SCAN_CODE_124,273,3,14,13 + PUSHBUTTON "Stop",SCAN_CODE_125,291,3,14,13 + PUSHBUTTON "Attn",SCAN_CODE_126,309,3,14,13 + PUSHBUTTON "|",SCAN_CODE_1,3,26,14,13 + PUSHBUTTON "1",SCAN_CODE_2,21,26,14,13 + PUSHBUTTON "2",SCAN_CODE_3,39,26,14,13 + PUSHBUTTON "3",SCAN_CODE_4,56,26,14,13 + PUSHBUTTON "4",SCAN_CODE_5,74,26,14,13 + PUSHBUTTON "5",SCAN_CODE_6,92,26,14,13 + PUSHBUTTON "6",SCAN_CODE_7,110,26,14,13 + PUSHBUTTON "7",SCAN_CODE_8,128,26,14,13 + PUSHBUTTON "8",SCAN_CODE_9,145,26,14,13 + PUSHBUTTON "9",SCAN_CODE_10,163,26,14,13 + PUSHBUTTON "0",SCAN_CODE_11,181,26,14,13 + PUSHBUTTON "-",SCAN_CODE_12,199,26,14,13 + PUSHBUTTON "=",SCAN_CODE_13,216,26,14,13 + PUSHBUTTON "<--",SCAN_CODE_15,234,26,28,13,BS_ICON + PUSHBUTTON "Tab",SCAN_CODE_16,3,43,21,13,BS_ICON + PUSHBUTTON "Q",SCAN_CODE_17,28,43,14,13 + PUSHBUTTON "W",SCAN_CODE_18,46,43,14,13 + PUSHBUTTON "E",SCAN_CODE_19,64,43,14,13 + PUSHBUTTON "R",SCAN_CODE_20,81,43,14,13 + PUSHBUTTON "T",SCAN_CODE_21,99,43,14,13 + PUSHBUTTON "Y",SCAN_CODE_22,117,43,14,13 + PUSHBUTTON "U",SCAN_CODE_23,135,43,14,13 + PUSHBUTTON "I",SCAN_CODE_24,152,43,14,13 + PUSHBUTTON "O",SCAN_CODE_25,170,43,14,13 + PUSHBUTTON "P",SCAN_CODE_26,188,43,14,13 + PUSHBUTTON "[",SCAN_CODE_27,206,43,14,13 + PUSHBUTTON "]",SCAN_CODE_28,224,43,14,13 + PUSHBUTTON "Caps Lock",SCAN_CODE_30,3,60,28,13,BS_ICON + PUSHBUTTON "A",SCAN_CODE_31,35,60,14,13 + PUSHBUTTON "S",SCAN_CODE_32,53,60,14,13 + PUSHBUTTON "D",SCAN_CODE_33,71,60,14,13 + PUSHBUTTON "F",SCAN_CODE_34,88,60,14,13 + PUSHBUTTON "G",SCAN_CODE_35,106,60,14,13 + PUSHBUTTON "H",SCAN_CODE_36,124,60,14,13 + PUSHBUTTON "J",SCAN_CODE_37,142,60,14,13 + PUSHBUTTON "K",SCAN_CODE_38,160,60,14,13 + PUSHBUTTON "L",SCAN_CODE_39,177,60,14,13 + PUSHBUTTON ";",SCAN_CODE_40,195,60,14,13 + PUSHBUTTON "'",SCAN_CODE_41,213,60,14,13 + PUSHBUTTON "#",SCAN_CODE_42,231,60,14,13 + PUSHBUTTON "ret",SCAN_CODE_43,248,43,14,30,BS_ICON + PUSHBUTTON "Shift",SCAN_CODE_44,3,77,18,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "\\",SCAN_CODE_45,24,77,14,13 + PUSHBUTTON "Z",SCAN_CODE_46,42,77,14,13 + PUSHBUTTON "X",SCAN_CODE_47,60,77,14,13 + PUSHBUTTON "C",SCAN_CODE_48,78,77,14,13 + PUSHBUTTON "V",SCAN_CODE_49,96,77,14,13 + PUSHBUTTON "B",SCAN_CODE_50,113,77,14,13 + PUSHBUTTON "N",SCAN_CODE_51,131,77,14,13 + PUSHBUTTON "M",SCAN_CODE_52,149,77,14,13 + PUSHBUTTON ",",SCAN_CODE_53,167,77,14,13 + PUSHBUTTON ".",SCAN_CODE_54,184,77,14,13 + PUSHBUTTON "/",SCAN_CODE_55,202,77,14,13 + PUSHBUTTON "Shift",SCAN_CODE_57,220,77,43,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ctrl",SCAN_CODE_58,3,94,25,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_127,32,94,18,13,BS_ICON + PUSHBUTTON "alt",SCAN_CODE_60,53,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "",SCAN_CODE_61,74,94,100,13 + PUSHBUTTON "alt gr",SCAN_CODE_62,177,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_128,199,94,18,13,BS_ICON + PUSHBUTTON "menu",SCAN_CODE_129,220,94,18,13,BS_ICON + PUSHBUTTON "ctrl",SCAN_CODE_64,241,94,21,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ins",SCAN_CODE_75,273,26,14,13 + PUSHBUTTON "can",SCAN_CODE_76,273,43,14,13 + PUSHBUTTON "home",SCAN_CODE_80,291,26,14,13,BS_ICON + PUSHBUTTON "End",SCAN_CODE_81,291,43,14,13 + PUSHBUTTON "pg up",SCAN_CODE_85,309,26,14,13,BS_ICON + PUSHBUTTON "pg down",SCAN_CODE_86,309,43,14,13,BS_ICON + PUSHBUTTON "<-",SCAN_CODE_79,273,94,14,13,BS_ICON + PUSHBUTTON "^",SCAN_CODE_83,291,77,14,13,BS_ICON + PUSHBUTTON "v",SCAN_CODE_84,291,94,14,13,BS_ICON + PUSHBUTTON "->",SCAN_CODE_89,309,94,14,13,BS_ICON + PUSHBUTTON "num",SCAN_CODE_90,334,26,14,13 + PUSHBUTTON "7",SCAN_CODE_91,334,43,14,13 + PUSHBUTTON "4",SCAN_CODE_92,334,60,14,13 + PUSHBUTTON "1",SCAN_CODE_93,334,77,14,13 + PUSHBUTTON "/",SCAN_CODE_95,352,26,14,13 + PUSHBUTTON "8",SCAN_CODE_96,352,43,14,13 + PUSHBUTTON "5",SCAN_CODE_97,352,60,14,13 + PUSHBUTTON "2",SCAN_CODE_98,352,77,14,13 + PUSHBUTTON "0",SCAN_CODE_99,334,94,32,13 + PUSHBUTTON "*",SCAN_CODE_100,369,26,14,13 + PUSHBUTTON "9",SCAN_CODE_101,369,43,14,13 + PUSHBUTTON "6",SCAN_CODE_102,369,60,14,13 + PUSHBUTTON "3",SCAN_CODE_103,369,77,14,13 + PUSHBUTTON ".",SCAN_CODE_104,369,94,14,13 + PUSHBUTTON "-",SCAN_CODE_105,387,26,14,13 + PUSHBUTTON "+",SCAN_CODE_106,387,43,14,30 + PUSHBUTTON "ent",SCAN_CODE_108,387,77,14,30 + CTEXT "Num",IDC_STATIC,334,4,18,8 + CONTROL "",IDC_LED_NUM,"Static","",341,16,4,3 + CTEXT "Caps",IDC_STATIC,359,4,18,8 + CONTROL "",IDC_LED_CAPS,"Static","",366,16,4,3 + CTEXT "Scroll",IDC_STATIC,384,4,18,8 + CONTROL "",IDC_LED_SCROLL,"Static","",391,16,4,3 +END + +/* EOF */ Index: base/applications/osk/lang/en-US.rc =================================================================== --- base/applications/osk/lang/en-US.rc (revision 0) +++ base/applications/osk/lang/en-US.rc (working copy) @@ -0,0 +1,128 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/lang/en-US.rc + * PURPOSE: On screen keyboard (American resources). + * PROGRAMMERS: Denis ROBERT + */ + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +MAIN_DIALOG DIALOG DISCARDABLE 0, 0, 404, 108 +CAPTION "On screen keyboard" +FONT 8, "MS Sans Serif" +EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +BEGIN + PUSHBUTTON "Esc",SCAN_CODE_110,3,3,14,13 + PUSHBUTTON "F1",SCAN_CODE_112,39,3,14,13 + PUSHBUTTON "F2",SCAN_CODE_113,56,3,14,13 + PUSHBUTTON "F3",SCAN_CODE_114,74,3,14,13 + PUSHBUTTON "F4",SCAN_CODE_115,92,3,14,13 + PUSHBUTTON "F5",SCAN_CODE_116,117,3,14,13 + PUSHBUTTON "F6",SCAN_CODE_117,135,3,14,13 + PUSHBUTTON "F7",SCAN_CODE_118,152,3,14,13 + PUSHBUTTON "F8",SCAN_CODE_119,170,3,14,13 + PUSHBUTTON "F9",SCAN_CODE_120,195,3,14,13 + PUSHBUTTON "F10",SCAN_CODE_121,213,3,14,13 + PUSHBUTTON "F11",SCAN_CODE_122,231,3,14,13 + PUSHBUTTON "F12",SCAN_CODE_123,248,3,14,13 + PUSHBUTTON "Prn",SCAN_CODE_124,273,3,14,13 + PUSHBUTTON "Stop",SCAN_CODE_125,291,3,14,13 + PUSHBUTTON "Attn",SCAN_CODE_126,309,3,14,13 + PUSHBUTTON "`",SCAN_CODE_1,3,26,14,13 + PUSHBUTTON "1",SCAN_CODE_2,21,26,14,13 + PUSHBUTTON "2",SCAN_CODE_3,39,26,14,13 + PUSHBUTTON "3",SCAN_CODE_4,56,26,14,13 + PUSHBUTTON "4",SCAN_CODE_5,74,26,14,13 + PUSHBUTTON "5",SCAN_CODE_6,92,26,14,13 + PUSHBUTTON "6",SCAN_CODE_7,110,26,14,13 + PUSHBUTTON "7",SCAN_CODE_8,128,26,14,13 + PUSHBUTTON "8",SCAN_CODE_9,145,26,14,13 + PUSHBUTTON "9",SCAN_CODE_10,163,26,14,13 + PUSHBUTTON "0",SCAN_CODE_11,181,26,14,13 + PUSHBUTTON "-",SCAN_CODE_12,199,26,14,13 + PUSHBUTTON "=",SCAN_CODE_13,216,26,14,13 + PUSHBUTTON "<--",SCAN_CODE_15,234,26,28,13,BS_ICON + PUSHBUTTON "Tab",SCAN_CODE_16,3,43,21,13,BS_ICON + PUSHBUTTON "Q",SCAN_CODE_17,28,43,14,13 + PUSHBUTTON "W",SCAN_CODE_18,46,43,14,13 + PUSHBUTTON "E",SCAN_CODE_19,64,43,14,13 + PUSHBUTTON "R",SCAN_CODE_20,81,43,14,13 + PUSHBUTTON "T",SCAN_CODE_21,99,43,14,13 + PUSHBUTTON "Y",SCAN_CODE_22,117,43,14,13 + PUSHBUTTON "U",SCAN_CODE_23,135,43,14,13 + PUSHBUTTON "I",SCAN_CODE_24,152,43,14,13 + PUSHBUTTON "O",SCAN_CODE_25,170,43,14,13 + PUSHBUTTON "P",SCAN_CODE_26,188,43,14,13 + PUSHBUTTON "[",SCAN_CODE_27,206,43,14,13 + PUSHBUTTON "]",SCAN_CODE_28,224,43,14,13 + PUSHBUTTON "\\",SCAN_CODE_29,242,43,20,13 + PUSHBUTTON "Caps Lock",SCAN_CODE_30,3,60,28,13,BS_ICON + PUSHBUTTON "A",SCAN_CODE_31,35,60,14,13 + PUSHBUTTON "S",SCAN_CODE_32,53,60,14,13 + PUSHBUTTON "D",SCAN_CODE_33,71,60,14,13 + PUSHBUTTON "F",SCAN_CODE_34,88,60,14,13 + PUSHBUTTON "G",SCAN_CODE_35,106,60,14,13 + PUSHBUTTON "H",SCAN_CODE_36,124,60,14,13 + PUSHBUTTON "J",SCAN_CODE_37,142,60,14,13 + PUSHBUTTON "K",SCAN_CODE_38,160,60,14,13 + PUSHBUTTON "L",SCAN_CODE_39,177,60,14,13 + PUSHBUTTON ";",SCAN_CODE_40,195,60,14,13 + PUSHBUTTON "'",SCAN_CODE_41,213,60,14,13 + PUSHBUTTON "ret",SCAN_CODE_43,231,60,31,13,BS_ICON + PUSHBUTTON "shift",SCAN_CODE_44,3,77,35,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "Z",SCAN_CODE_46,42,77,14,13 + PUSHBUTTON "X",SCAN_CODE_47,60,77,14,13 + PUSHBUTTON "C",SCAN_CODE_48,78,77,14,13 + PUSHBUTTON "V",SCAN_CODE_49,96,77,14,13 + PUSHBUTTON "B",SCAN_CODE_50,113,77,14,13 + PUSHBUTTON "N",SCAN_CODE_51,131,77,14,13 + PUSHBUTTON "M",SCAN_CODE_52,149,77,14,13 + PUSHBUTTON ",",SCAN_CODE_53,167,77,14,13 + PUSHBUTTON ".",SCAN_CODE_54,184,77,14,13 + PUSHBUTTON "/",SCAN_CODE_55,202,77,14,13 + PUSHBUTTON "shift",SCAN_CODE_57,220,77,43,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ctrl",SCAN_CODE_58,3,94,25,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_127,32,94,18,13,BS_ICON + PUSHBUTTON "alt",SCAN_CODE_60,53,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "",SCAN_CODE_61,74,94,100,13 + PUSHBUTTON "alt gr",SCAN_CODE_62,177,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_128,199,94,18,13,BS_ICON + PUSHBUTTON "menu",SCAN_CODE_129,220,94,18,13,BS_ICON + PUSHBUTTON "ctrl",SCAN_CODE_64,241,94,21,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ins",SCAN_CODE_75,273,26,14,13 + PUSHBUTTON "del",SCAN_CODE_76,273,43,14,13 + PUSHBUTTON "home",SCAN_CODE_80,291,26,14,13,BS_ICON + PUSHBUTTON "end",SCAN_CODE_81,291,43,14,13 + PUSHBUTTON "pg up",SCAN_CODE_85,309,26,14,13,BS_ICON + PUSHBUTTON "pg down",SCAN_CODE_86,309,43,14,13,BS_ICON + PUSHBUTTON "<-",SCAN_CODE_79,273,94,14,13,BS_ICON + PUSHBUTTON "^",SCAN_CODE_83,291,77,14,13,BS_ICON + PUSHBUTTON "v",SCAN_CODE_84,291,94,14,13,BS_ICON + PUSHBUTTON "->",SCAN_CODE_89,309,94,14,13,BS_ICON + PUSHBUTTON "num",SCAN_CODE_90,334,26,14,13 + PUSHBUTTON "7",SCAN_CODE_91,334,43,14,13 + PUSHBUTTON "4",SCAN_CODE_92,334,60,14,13 + PUSHBUTTON "1",SCAN_CODE_93,334,77,14,13 + PUSHBUTTON "/",SCAN_CODE_95,352,26,14,13 + PUSHBUTTON "8",SCAN_CODE_96,352,43,14,13 + PUSHBUTTON "5",SCAN_CODE_97,352,60,14,13 + PUSHBUTTON "2",SCAN_CODE_98,352,77,14,13 + PUSHBUTTON "0",SCAN_CODE_99,334,94,32,13 + PUSHBUTTON "*",SCAN_CODE_100,369,26,14,13 + PUSHBUTTON "9",SCAN_CODE_101,369,43,14,13 + PUSHBUTTON "6",SCAN_CODE_102,369,60,14,13 + PUSHBUTTON "3",SCAN_CODE_103,369,77,14,13 + PUSHBUTTON ".",SCAN_CODE_104,369,94,14,13 + PUSHBUTTON "-",SCAN_CODE_105,387,26,14,13 + PUSHBUTTON "+",SCAN_CODE_106,387,43,14,30 + PUSHBUTTON "ent",SCAN_CODE_108,387,77,14,30 + CTEXT "Num",IDC_STATIC,334,4,18,8 + CONTROL "",IDC_LED_NUM,"Static","",341,16,4,3 + CTEXT "Caps",IDC_STATIC,359,4,18,8 + CONTROL "",IDC_LED_CAPS,"Static","",366,16,4,3 + CTEXT "Scroll",IDC_STATIC,384,4,18,8 + CONTROL "",IDC_LED_SCROLL,"Static","",391,16,4,3 +END + +/* EOF */ Index: base/applications/osk/lang/es-ES.rc =================================================================== --- base/applications/osk/lang/es-ES.rc (revision 0) +++ base/applications/osk/lang/es-ES.rc (working copy) @@ -0,0 +1,129 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/lang/es-ES.rc + * PURPOSE: On screen keyboard (Spanish resources) + * PROGRAMMERS: Denis ROBERT + */ + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +MAIN_DIALOG DIALOG DISCARDABLE 0, 0, 404, 108 +CAPTION "Teclado visual" +FONT 8, "MS Sans Serif" +EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +BEGIN + PUSHBUTTON "ech",SCAN_CODE_110,3,3,14,13 + PUSHBUTTON "F1",SCAN_CODE_112,39,3,14,13 + PUSHBUTTON "F2",SCAN_CODE_113,56,3,14,13 + PUSHBUTTON "F3",SCAN_CODE_114,74,3,14,13 + PUSHBUTTON "F4",SCAN_CODE_115,92,3,14,13 + PUSHBUTTON "F5",SCAN_CODE_116,117,3,14,13 + PUSHBUTTON "F6",SCAN_CODE_117,135,3,14,13 + PUSHBUTTON "F7",SCAN_CODE_118,152,3,14,13 + PUSHBUTTON "F8",SCAN_CODE_119,170,3,14,13 + PUSHBUTTON "F9",SCAN_CODE_120,195,3,14,13 + PUSHBUTTON "F10",SCAN_CODE_121,213,3,14,13 + PUSHBUTTON "F11",SCAN_CODE_122,231,3,14,13 + PUSHBUTTON "F12",SCAN_CODE_123,248,3,14,13 + PUSHBUTTON "imp",SCAN_CODE_124,273,3,14,13 + PUSHBUTTON "arr",SCAN_CODE_125,291,3,14,13 + PUSHBUTTON "att",SCAN_CODE_126,309,3,14,13 + PUSHBUTTON "°",SCAN_CODE_1,3,26,14,13 + PUSHBUTTON "1",SCAN_CODE_2,21,26,14,13 + PUSHBUTTON "2",SCAN_CODE_3,39,26,14,13 + PUSHBUTTON "3",SCAN_CODE_4,56,26,14,13 + PUSHBUTTON "4",SCAN_CODE_5,74,26,14,13 + PUSHBUTTON "5",SCAN_CODE_6,92,26,14,13 + PUSHBUTTON "6",SCAN_CODE_7,110,26,14,13 + PUSHBUTTON "7",SCAN_CODE_8,128,26,14,13 + PUSHBUTTON "8",SCAN_CODE_9,145,26,14,13 + PUSHBUTTON "9",SCAN_CODE_10,163,26,14,13 + PUSHBUTTON "0",SCAN_CODE_11,181,26,14,13 + PUSHBUTTON "'",SCAN_CODE_12,199,26,14,13 + PUSHBUTTON "¡",SCAN_CODE_13,216,26,14,13 + PUSHBUTTON "<--",SCAN_CODE_15,234,26,28,13,BS_ICON + PUSHBUTTON "Tab",SCAN_CODE_16,3,43,21,13,BS_ICON + PUSHBUTTON "Q",SCAN_CODE_17,28,43,14,13 + PUSHBUTTON "W",SCAN_CODE_18,46,43,14,13 + PUSHBUTTON "E",SCAN_CODE_19,64,43,14,13 + PUSHBUTTON "R",SCAN_CODE_20,81,43,14,13 + PUSHBUTTON "T",SCAN_CODE_21,99,43,14,13 + PUSHBUTTON "Y",SCAN_CODE_22,117,43,14,13 + PUSHBUTTON "U",SCAN_CODE_23,135,43,14,13 + PUSHBUTTON "I",SCAN_CODE_24,152,43,14,13 + PUSHBUTTON "O",SCAN_CODE_25,170,43,14,13 + PUSHBUTTON "P",SCAN_CODE_26,188,43,14,13 + PUSHBUTTON "`",SCAN_CODE_27,206,43,14,13 + PUSHBUTTON "+",SCAN_CODE_28,224,43,14,13 + PUSHBUTTON "Verr maj",SCAN_CODE_30,3,60,28,13,BS_ICON + PUSHBUTTON "A",SCAN_CODE_31,35,60,14,13 + PUSHBUTTON "S",SCAN_CODE_32,53,60,14,13 + PUSHBUTTON "D",SCAN_CODE_33,71,60,14,13 + PUSHBUTTON "F",SCAN_CODE_34,88,60,14,13 + PUSHBUTTON "G",SCAN_CODE_35,106,60,14,13 + PUSHBUTTON "H",SCAN_CODE_36,124,60,14,13 + PUSHBUTTON "J",SCAN_CODE_37,142,60,14,13 + PUSHBUTTON "K",SCAN_CODE_38,160,60,14,13 + PUSHBUTTON "L",SCAN_CODE_39,177,60,14,13 + PUSHBUTTON "Ñ",SCAN_CODE_40,195,60,14,13 + PUSHBUTTON ",",SCAN_CODE_41,213,60,14,13 + PUSHBUTTON "ç",SCAN_CODE_42,231,60,14,13 + PUSHBUTTON "ret",SCAN_CODE_43,248,43,14,30,BS_ICON + PUSHBUTTON "maj",SCAN_CODE_44,3,77,18,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "<",SCAN_CODE_45,24,77,14,13 + PUSHBUTTON "Z",SCAN_CODE_46,42,77,14,13 + PUSHBUTTON "X",SCAN_CODE_47,60,77,14,13 + PUSHBUTTON "C",SCAN_CODE_48,78,77,14,13 + PUSHBUTTON "V",SCAN_CODE_49,96,77,14,13 + PUSHBUTTON "B",SCAN_CODE_50,113,77,14,13 + PUSHBUTTON "N",SCAN_CODE_51,131,77,14,13 + PUSHBUTTON "M",SCAN_CODE_52,149,77,14,13 + PUSHBUTTON ",",SCAN_CODE_53,167,77,14,13 + PUSHBUTTON ".",SCAN_CODE_54,184,77,14,13 + PUSHBUTTON "-",SCAN_CODE_55,202,77,14,13 + PUSHBUTTON "maj",SCAN_CODE_57,220,77,43,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ctrl",SCAN_CODE_58,3,94,25,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_127,32,94,18,13,BS_ICON + PUSHBUTTON "alt",SCAN_CODE_60,53,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "",SCAN_CODE_61,74,94,100,13 + PUSHBUTTON "alt gr",SCAN_CODE_62,177,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_128,199,94,18,13,BS_ICON + PUSHBUTTON "menu",SCAN_CODE_129,220,94,18,13,BS_ICON + PUSHBUTTON "ctrl",SCAN_CODE_64,241,94,21,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ins",SCAN_CODE_75,273,26,14,13 + PUSHBUTTON "sup",SCAN_CODE_76,273,43,14,13 + PUSHBUTTON "home",SCAN_CODE_80,291,26,14,13,BS_ICON + PUSHBUTTON "fin",SCAN_CODE_81,291,43,14,13 + PUSHBUTTON "pg AR",SCAN_CODE_85,309,26,14,13,BS_ICON + PUSHBUTTON "pg AV",SCAN_CODE_86,309,43,14,13,BS_ICON + PUSHBUTTON "<-",SCAN_CODE_79,273,94,14,13,BS_ICON + PUSHBUTTON "^",SCAN_CODE_83,291,77,14,13,BS_ICON + PUSHBUTTON "v",SCAN_CODE_84,291,94,14,13,BS_ICON + PUSHBUTTON "->",SCAN_CODE_89,309,94,14,13,BS_ICON + PUSHBUTTON "num",SCAN_CODE_90,334,26,14,13 + PUSHBUTTON "7",SCAN_CODE_91,334,43,14,13 + PUSHBUTTON "4",SCAN_CODE_92,334,60,14,13 + PUSHBUTTON "1",SCAN_CODE_93,334,77,14,13 + PUSHBUTTON "/",SCAN_CODE_95,352,26,14,13 + PUSHBUTTON "8",SCAN_CODE_96,352,43,14,13 + PUSHBUTTON "5",SCAN_CODE_97,352,60,14,13 + PUSHBUTTON "2",SCAN_CODE_98,352,77,14,13 + PUSHBUTTON "0",SCAN_CODE_99,334,94,32,13 + PUSHBUTTON "*",SCAN_CODE_100,369,26,14,13 + PUSHBUTTON "9",SCAN_CODE_101,369,43,14,13 + PUSHBUTTON "6",SCAN_CODE_102,369,60,14,13 + PUSHBUTTON "3",SCAN_CODE_103,369,77,14,13 + PUSHBUTTON ".",SCAN_CODE_104,369,94,14,13 + PUSHBUTTON "-",SCAN_CODE_105,387,26,14,13 + PUSHBUTTON "+",SCAN_CODE_106,387,43,14,30 + PUSHBUTTON "ent",SCAN_CODE_108,387,77,14,30 + CTEXT "Num",IDC_STATIC,334,4,18,8 + CONTROL "",IDC_LED_NUM,"Static","",341,16,4,3 + CTEXT "Caps",IDC_STATIC,359,4,18,8 + CONTROL "",IDC_LED_CAPS,"Static","",366,16,4,3 + CTEXT "Scroll",IDC_STATIC,384,4,18,8 + CONTROL "",IDC_LED_SCROLL,"Static","",391,16,4,3 +END + +/* EOF */ Index: base/applications/osk/lang/fr-CA.rc =================================================================== --- base/applications/osk/lang/fr-CA.rc (revision 0) +++ base/applications/osk/lang/fr-CA.rc (working copy) @@ -0,0 +1,129 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/lang/fr-CA.rc + * PURPOSE: On screen keyboard (French canadian resources) + * PROGRAMMERS: Denis ROBERT + */ + +LANGUAGE LANG_FRENCH, SUBLANG_FRENCH_CANADIAN + +MAIN_DIALOG DIALOG DISCARDABLE 0, 0, 404, 108 +CAPTION "Clavier visuel" +FONT 8, "MS Sans Serif" +EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +BEGIN + PUSHBUTTON "ech",SCAN_CODE_110,3,3,14,13 + PUSHBUTTON "F1",SCAN_CODE_112,39,3,14,13 + PUSHBUTTON "F2",SCAN_CODE_113,56,3,14,13 + PUSHBUTTON "F3",SCAN_CODE_114,74,3,14,13 + PUSHBUTTON "F4",SCAN_CODE_115,92,3,14,13 + PUSHBUTTON "F5",SCAN_CODE_116,117,3,14,13 + PUSHBUTTON "F6",SCAN_CODE_117,135,3,14,13 + PUSHBUTTON "F7",SCAN_CODE_118,152,3,14,13 + PUSHBUTTON "F8",SCAN_CODE_119,170,3,14,13 + PUSHBUTTON "F9",SCAN_CODE_120,195,3,14,13 + PUSHBUTTON "F10",SCAN_CODE_121,213,3,14,13 + PUSHBUTTON "F11",SCAN_CODE_122,231,3,14,13 + PUSHBUTTON "F12",SCAN_CODE_123,248,3,14,13 + PUSHBUTTON "imp",SCAN_CODE_124,273,3,14,13 + PUSHBUTTON "arr",SCAN_CODE_125,291,3,14,13 + PUSHBUTTON "att",SCAN_CODE_126,309,3,14,13 + PUSHBUTTON "#",SCAN_CODE_1,3,26,14,13 + PUSHBUTTON "1",SCAN_CODE_2,21,26,14,13 + PUSHBUTTON "2",SCAN_CODE_3,39,26,14,13 + PUSHBUTTON "3",SCAN_CODE_4,56,26,14,13 + PUSHBUTTON "4",SCAN_CODE_5,74,26,14,13 + PUSHBUTTON "5",SCAN_CODE_6,92,26,14,13 + PUSHBUTTON "6",SCAN_CODE_7,110,26,14,13 + PUSHBUTTON "7",SCAN_CODE_8,128,26,14,13 + PUSHBUTTON "8",SCAN_CODE_9,145,26,14,13 + PUSHBUTTON "9",SCAN_CODE_10,163,26,14,13 + PUSHBUTTON "0",SCAN_CODE_11,181,26,14,13 + PUSHBUTTON "-",SCAN_CODE_12,199,26,14,13 + PUSHBUTTON "=",SCAN_CODE_13,216,26,14,13 + PUSHBUTTON "<--",SCAN_CODE_15,234,26,28,13,BS_ICON + PUSHBUTTON "Tab",SCAN_CODE_16,3,43,21,13,BS_ICON + PUSHBUTTON "Q",SCAN_CODE_17,28,43,14,13 + PUSHBUTTON "W",SCAN_CODE_18,46,43,14,13 + PUSHBUTTON "E",SCAN_CODE_19,64,43,14,13 + PUSHBUTTON "R",SCAN_CODE_20,81,43,14,13 + PUSHBUTTON "T",SCAN_CODE_21,99,43,14,13 + PUSHBUTTON "Y",SCAN_CODE_22,117,43,14,13 + PUSHBUTTON "U",SCAN_CODE_23,135,43,14,13 + PUSHBUTTON "I",SCAN_CODE_24,152,43,14,13 + PUSHBUTTON "O",SCAN_CODE_25,170,43,14,13 + PUSHBUTTON "P",SCAN_CODE_26,188,43,14,13 + PUSHBUTTON "^",SCAN_CODE_27,206,43,14,13 + PUSHBUTTON "¨",SCAN_CODE_28,224,43,14,13 + PUSHBUTTON "Verr maj",SCAN_CODE_30,3,60,28,13,BS_ICON + PUSHBUTTON "A",SCAN_CODE_31,35,60,14,13 + PUSHBUTTON "S",SCAN_CODE_32,53,60,14,13 + PUSHBUTTON "D",SCAN_CODE_33,71,60,14,13 + PUSHBUTTON "F",SCAN_CODE_34,88,60,14,13 + PUSHBUTTON "G",SCAN_CODE_35,106,60,14,13 + PUSHBUTTON "H",SCAN_CODE_36,124,60,14,13 + PUSHBUTTON "J",SCAN_CODE_37,142,60,14,13 + PUSHBUTTON "K",SCAN_CODE_38,160,60,14,13 + PUSHBUTTON "L",SCAN_CODE_39,177,60,14,13 + PUSHBUTTON ";",SCAN_CODE_40,195,60,14,13 + PUSHBUTTON "`",SCAN_CODE_41,213,60,14,13 + PUSHBUTTON "<",SCAN_CODE_42,231,60,14,13 + PUSHBUTTON "ret",SCAN_CODE_43,248,43,14,30,BS_ICON + PUSHBUTTON "maj",SCAN_CODE_44,3,77,18,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "«",SCAN_CODE_45,24,77,14,13 + PUSHBUTTON "Z",SCAN_CODE_46,42,77,14,13 + PUSHBUTTON "X",SCAN_CODE_47,60,77,14,13 + PUSHBUTTON "C",SCAN_CODE_48,78,77,14,13 + PUSHBUTTON "V",SCAN_CODE_49,96,77,14,13 + PUSHBUTTON "B",SCAN_CODE_50,113,77,14,13 + PUSHBUTTON "N",SCAN_CODE_51,131,77,14,13 + PUSHBUTTON "M",SCAN_CODE_52,149,77,14,13 + PUSHBUTTON ",",SCAN_CODE_53,167,77,14,13 + PUSHBUTTON ".",SCAN_CODE_54,184,77,14,13 + PUSHBUTTON "/",SCAN_CODE_55,202,77,14,13 + PUSHBUTTON "maj",SCAN_CODE_57,220,77,43,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ctrl",SCAN_CODE_58,3,94,25,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_127,32,94,18,13,BS_ICON + PUSHBUTTON "alt",SCAN_CODE_60,53,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "",SCAN_CODE_61,74,94,100,13 + PUSHBUTTON "alt gr",SCAN_CODE_62,177,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_128,199,94,18,13,BS_ICON + PUSHBUTTON "menu",SCAN_CODE_129,220,94,18,13,BS_ICON + PUSHBUTTON "ctrl",SCAN_CODE_64,241,94,21,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ins",SCAN_CODE_75,273,26,14,13 + PUSHBUTTON "sup",SCAN_CODE_76,273,43,14,13 + PUSHBUTTON "home",SCAN_CODE_80,291,26,14,13,BS_ICON + PUSHBUTTON "fin",SCAN_CODE_81,291,43,14,13 + PUSHBUTTON "pg AR",SCAN_CODE_85,309,26,14,13,BS_ICON + PUSHBUTTON "pg AV",SCAN_CODE_86,309,43,14,13,BS_ICON + PUSHBUTTON "<-",SCAN_CODE_79,273,94,14,13,BS_ICON + PUSHBUTTON "^",SCAN_CODE_83,291,77,14,13,BS_ICON + PUSHBUTTON "v",SCAN_CODE_84,291,94,14,13,BS_ICON + PUSHBUTTON "->",SCAN_CODE_89,309,94,14,13,BS_ICON + PUSHBUTTON "num",SCAN_CODE_90,334,26,14,13 + PUSHBUTTON "7",SCAN_CODE_91,334,43,14,13 + PUSHBUTTON "4",SCAN_CODE_92,334,60,14,13 + PUSHBUTTON "1",SCAN_CODE_93,334,77,14,13 + PUSHBUTTON "/",SCAN_CODE_95,352,26,14,13 + PUSHBUTTON "8",SCAN_CODE_96,352,43,14,13 + PUSHBUTTON "5",SCAN_CODE_97,352,60,14,13 + PUSHBUTTON "2",SCAN_CODE_98,352,77,14,13 + PUSHBUTTON "0",SCAN_CODE_99,334,94,32,13 + PUSHBUTTON "*",SCAN_CODE_100,369,26,14,13 + PUSHBUTTON "9",SCAN_CODE_101,369,43,14,13 + PUSHBUTTON "6",SCAN_CODE_102,369,60,14,13 + PUSHBUTTON "3",SCAN_CODE_103,369,77,14,13 + PUSHBUTTON ".",SCAN_CODE_104,369,94,14,13 + PUSHBUTTON "-",SCAN_CODE_105,387,26,14,13 + PUSHBUTTON "+",SCAN_CODE_106,387,43,14,30 + PUSHBUTTON "ent",SCAN_CODE_108,387,77,14,30 + CTEXT "Num",IDC_STATIC,334,4,18,8 + CONTROL "",IDC_LED_NUM,"Static","",341,16,4,3 + CTEXT "Caps",IDC_STATIC,359,4,18,8 + CONTROL "",IDC_LED_CAPS,"Static","",366,16,4,3 + CTEXT "Scroll",IDC_STATIC,384,4,18,8 + CONTROL "",IDC_LED_SCROLL,"Static","",391,16,4,3 +END + +/* EOF */ Index: base/applications/osk/lang/fr-FR.rc =================================================================== --- base/applications/osk/lang/fr-FR.rc (revision 0) +++ base/applications/osk/lang/fr-FR.rc (working copy) @@ -0,0 +1,129 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/lang/fr-FR.rc + * PURPOSE: On screen keyboard (French resources). + * PROGRAMMERS: Denis ROBERT + */ + +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +MAIN_DIALOG DIALOG DISCARDABLE 0, 0, 404, 108 +CAPTION "Clavier visuel" +FONT 8, "MS Sans Serif" +EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +BEGIN + PUSHBUTTON "ech",SCAN_CODE_110,3,3,14,13 + PUSHBUTTON "F1",SCAN_CODE_112,39,3,14,13 + PUSHBUTTON "F2",SCAN_CODE_113,56,3,14,13 + PUSHBUTTON "F3",SCAN_CODE_114,74,3,14,13 + PUSHBUTTON "F4",SCAN_CODE_115,92,3,14,13 + PUSHBUTTON "F5",SCAN_CODE_116,117,3,14,13 + PUSHBUTTON "F6",SCAN_CODE_117,135,3,14,13 + PUSHBUTTON "F7",SCAN_CODE_118,152,3,14,13 + PUSHBUTTON "F8",SCAN_CODE_119,170,3,14,13 + PUSHBUTTON "F9",SCAN_CODE_120,195,3,14,13 + PUSHBUTTON "F10",SCAN_CODE_121,213,3,14,13 + PUSHBUTTON "F11",SCAN_CODE_122,231,3,14,13 + PUSHBUTTON "F12",SCAN_CODE_123,248,3,14,13 + PUSHBUTTON "imp",SCAN_CODE_124,273,3,14,13 + PUSHBUTTON "arr",SCAN_CODE_125,291,3,14,13 + PUSHBUTTON "att",SCAN_CODE_126,309,3,14,13 + PUSHBUTTON "²",SCAN_CODE_1,3,26,14,13 + PUSHBUTTON "&&",SCAN_CODE_2,21,26,14,13 + PUSHBUTTON "é",SCAN_CODE_3,39,26,14,13 + PUSHBUTTON """",SCAN_CODE_4,56,26,14,13 + PUSHBUTTON "'",SCAN_CODE_5,74,26,14,13 + PUSHBUTTON "(",SCAN_CODE_6,92,26,14,13 + PUSHBUTTON "-",SCAN_CODE_7,110,26,14,13 + PUSHBUTTON "è",SCAN_CODE_8,128,26,14,13 + PUSHBUTTON "_",SCAN_CODE_9,145,26,14,13 + PUSHBUTTON "ç",SCAN_CODE_10,163,26,14,13 + PUSHBUTTON "à",SCAN_CODE_11,181,26,14,13 + PUSHBUTTON ")",SCAN_CODE_12,199,26,14,13 + PUSHBUTTON "=",SCAN_CODE_13,216,26,14,13 + PUSHBUTTON "<--",SCAN_CODE_15,234,26,28,13,BS_ICON + PUSHBUTTON "Tab",SCAN_CODE_16,3,43,21,13,BS_ICON + PUSHBUTTON "A",SCAN_CODE_17,28,43,14,13 + PUSHBUTTON "Z",SCAN_CODE_18,46,43,14,13 + PUSHBUTTON "E",SCAN_CODE_19,64,43,14,13 + PUSHBUTTON "R",SCAN_CODE_20,81,43,14,13 + PUSHBUTTON "T",SCAN_CODE_21,99,43,14,13 + PUSHBUTTON "Y",SCAN_CODE_22,117,43,14,13 + PUSHBUTTON "U",SCAN_CODE_23,135,43,14,13 + PUSHBUTTON "I",SCAN_CODE_24,152,43,14,13 + PUSHBUTTON "O",SCAN_CODE_25,170,43,14,13 + PUSHBUTTON "P",SCAN_CODE_26,188,43,14,13 + PUSHBUTTON "^",SCAN_CODE_27,206,43,14,13 + PUSHBUTTON "$",SCAN_CODE_28,224,43,14,13 + PUSHBUTTON "Verr maj",SCAN_CODE_30,3,60,28,13,BS_ICON + PUSHBUTTON "Q",SCAN_CODE_31,35,60,14,13 + PUSHBUTTON "S",SCAN_CODE_32,53,60,14,13 + PUSHBUTTON "D",SCAN_CODE_33,71,60,14,13 + PUSHBUTTON "F",SCAN_CODE_34,88,60,14,13 + PUSHBUTTON "G",SCAN_CODE_35,106,60,14,13 + PUSHBUTTON "H",SCAN_CODE_36,124,60,14,13 + PUSHBUTTON "J",SCAN_CODE_37,142,60,14,13 + PUSHBUTTON "K",SCAN_CODE_38,160,60,14,13 + PUSHBUTTON "L",SCAN_CODE_39,177,60,14,13 + PUSHBUTTON "M",SCAN_CODE_40,195,60,14,13 + PUSHBUTTON "ù",SCAN_CODE_41,213,60,14,13 + PUSHBUTTON "*",SCAN_CODE_42,231,60,14,13 + PUSHBUTTON "ret",SCAN_CODE_43,248,43,14,30,BS_ICON + PUSHBUTTON "maj",SCAN_CODE_44,3,77,18,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "<",SCAN_CODE_45,24,77,14,13 + PUSHBUTTON "W",SCAN_CODE_46,42,77,14,13 + PUSHBUTTON "X",SCAN_CODE_47,60,77,14,13 + PUSHBUTTON "C",SCAN_CODE_48,78,77,14,13 + PUSHBUTTON "V",SCAN_CODE_49,96,77,14,13 + PUSHBUTTON "B",SCAN_CODE_50,113,77,14,13 + PUSHBUTTON "N",SCAN_CODE_51,131,77,14,13 + PUSHBUTTON ",",SCAN_CODE_52,149,77,14,13 + PUSHBUTTON ";",SCAN_CODE_53,167,77,14,13 + PUSHBUTTON ":",SCAN_CODE_54,184,77,14,13 + PUSHBUTTON "!",SCAN_CODE_55,202,77,14,13 + PUSHBUTTON "maj",SCAN_CODE_57,220,77,43,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ctrl",SCAN_CODE_58,3,94,25,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_127,32,94,18,13,BS_ICON + PUSHBUTTON "alt",SCAN_CODE_60,53,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "",SCAN_CODE_61,74,94,100,13 + PUSHBUTTON "alt gr",SCAN_CODE_62,177,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_128,199,94,18,13,BS_ICON + PUSHBUTTON "menu",SCAN_CODE_129,220,94,18,13,BS_ICON + PUSHBUTTON "ctrl",SCAN_CODE_64,241,94,21,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ins",SCAN_CODE_75,273,26,14,13 + PUSHBUTTON "sup",SCAN_CODE_76,273,43,14,13 + PUSHBUTTON "home",SCAN_CODE_80,291,26,14,13,BS_ICON + PUSHBUTTON "fin",SCAN_CODE_81,291,43,14,13 + PUSHBUTTON "pg AR",SCAN_CODE_85,309,26,14,13,BS_ICON + PUSHBUTTON "pg AV",SCAN_CODE_86,309,43,14,13,BS_ICON + PUSHBUTTON "<-",SCAN_CODE_79,273,94,14,13,BS_ICON + PUSHBUTTON "^",SCAN_CODE_83,291,77,14,13,BS_ICON + PUSHBUTTON "v",SCAN_CODE_84,291,94,14,13,BS_ICON + PUSHBUTTON "->",SCAN_CODE_89,309,94,14,13,BS_ICON + PUSHBUTTON "num",SCAN_CODE_90,334,26,14,13 + PUSHBUTTON "7",SCAN_CODE_91,334,43,14,13 + PUSHBUTTON "4",SCAN_CODE_92,334,60,14,13 + PUSHBUTTON "1",SCAN_CODE_93,334,77,14,13 + PUSHBUTTON "/",SCAN_CODE_95,352,26,14,13 + PUSHBUTTON "8",SCAN_CODE_96,352,43,14,13 + PUSHBUTTON "5",SCAN_CODE_97,352,60,14,13 + PUSHBUTTON "2",SCAN_CODE_98,352,77,14,13 + PUSHBUTTON "0",SCAN_CODE_99,334,94,32,13 + PUSHBUTTON "*",SCAN_CODE_100,369,26,14,13 + PUSHBUTTON "9",SCAN_CODE_101,369,43,14,13 + PUSHBUTTON "6",SCAN_CODE_102,369,60,14,13 + PUSHBUTTON "3",SCAN_CODE_103,369,77,14,13 + PUSHBUTTON ".",SCAN_CODE_104,369,94,14,13 + PUSHBUTTON "-",SCAN_CODE_105,387,26,14,13 + PUSHBUTTON "+",SCAN_CODE_106,387,43,14,30 + PUSHBUTTON "ent",SCAN_CODE_108,387,77,14,30 + CTEXT "Num",IDC_STATIC,334,4,18,8 + CONTROL "",IDC_LED_NUM,"Static","",341,16,4,3 + CTEXT "Caps",IDC_STATIC,359,4,18,8 + CONTROL "",IDC_LED_CAPS,"Static","",366,16,4,3 + CTEXT "Scroll",IDC_STATIC,384,4,18,8 + CONTROL "",IDC_LED_SCROLL,"Static","",391,16,4,3 +END + +/* EOF */ Index: base/applications/osk/lang/it-IT.rc =================================================================== --- base/applications/osk/lang/it-IT.rc (revision 0) +++ base/applications/osk/lang/it-IT.rc (working copy) @@ -0,0 +1,129 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/lang/it-IT.rc + * PURPOSE: On screen keyboard (Italian resources) + * PROGRAMMERS: Denis ROBERT + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +MAIN_DIALOG DIALOG DISCARDABLE 0, 0, 404, 108 +CAPTION "Tastiera visivo" +FONT 8, "MS Sans Serif" +EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +BEGIN + PUSHBUTTON "Esc",SCAN_CODE_110,3,3,14,13 + PUSHBUTTON "F1",SCAN_CODE_112,39,3,14,13 + PUSHBUTTON "F2",SCAN_CODE_113,56,3,14,13 + PUSHBUTTON "F3",SCAN_CODE_114,74,3,14,13 + PUSHBUTTON "F4",SCAN_CODE_115,92,3,14,13 + PUSHBUTTON "F5",SCAN_CODE_116,117,3,14,13 + PUSHBUTTON "F6",SCAN_CODE_117,135,3,14,13 + PUSHBUTTON "F7",SCAN_CODE_118,152,3,14,13 + PUSHBUTTON "F8",SCAN_CODE_119,170,3,14,13 + PUSHBUTTON "F9",SCAN_CODE_120,195,3,14,13 + PUSHBUTTON "F10",SCAN_CODE_121,213,3,14,13 + PUSHBUTTON "F11",SCAN_CODE_122,231,3,14,13 + PUSHBUTTON "F12",SCAN_CODE_123,248,3,14,13 + PUSHBUTTON "Imp",SCAN_CODE_124,273,3,14,13 + PUSHBUTTON "Arr",SCAN_CODE_125,291,3,14,13 + PUSHBUTTON "Attn",SCAN_CODE_126,309,3,14,13 + PUSHBUTTON "\\",SCAN_CODE_1,3,26,14,13 + PUSHBUTTON "1",SCAN_CODE_2,21,26,14,13 + PUSHBUTTON "2",SCAN_CODE_3,39,26,14,13 + PUSHBUTTON "3",SCAN_CODE_4,56,26,14,13 + PUSHBUTTON "4",SCAN_CODE_5,74,26,14,13 + PUSHBUTTON "5",SCAN_CODE_6,92,26,14,13 + PUSHBUTTON "6",SCAN_CODE_7,110,26,14,13 + PUSHBUTTON "7",SCAN_CODE_8,128,26,14,13 + PUSHBUTTON "8",SCAN_CODE_9,145,26,14,13 + PUSHBUTTON "9",SCAN_CODE_10,163,26,14,13 + PUSHBUTTON "0",SCAN_CODE_11,181,26,14,13 + PUSHBUTTON "'",SCAN_CODE_12,199,26,14,13 + PUSHBUTTON "|",SCAN_CODE_13,216,26,14,13 + PUSHBUTTON "<--",SCAN_CODE_15,234,26,28,13,BS_ICON + PUSHBUTTON "Tab",SCAN_CODE_16,3,43,21,13,BS_ICON + PUSHBUTTON "Q",SCAN_CODE_17,28,43,14,13 + PUSHBUTTON "W",SCAN_CODE_18,46,43,14,13 + PUSHBUTTON "E",SCAN_CODE_19,64,43,14,13 + PUSHBUTTON "R",SCAN_CODE_20,81,43,14,13 + PUSHBUTTON "T",SCAN_CODE_21,99,43,14,13 + PUSHBUTTON "Y",SCAN_CODE_22,117,43,14,13 + PUSHBUTTON "U",SCAN_CODE_23,135,43,14,13 + PUSHBUTTON "I",SCAN_CODE_24,152,43,14,13 + PUSHBUTTON "O",SCAN_CODE_25,170,43,14,13 + PUSHBUTTON "P",SCAN_CODE_26,188,43,14,13 + PUSHBUTTON "è",SCAN_CODE_27,206,43,14,13 + PUSHBUTTON "+",SCAN_CODE_28,224,43,14,13 + PUSHBUTTON "Verr maj",SCAN_CODE_30,3,60,28,13,BS_ICON + PUSHBUTTON "A",SCAN_CODE_31,35,60,14,13 + PUSHBUTTON "S",SCAN_CODE_32,53,60,14,13 + PUSHBUTTON "D",SCAN_CODE_33,71,60,14,13 + PUSHBUTTON "F",SCAN_CODE_34,88,60,14,13 + PUSHBUTTON "G",SCAN_CODE_35,106,60,14,13 + PUSHBUTTON "H",SCAN_CODE_36,124,60,14,13 + PUSHBUTTON "J",SCAN_CODE_37,142,60,14,13 + PUSHBUTTON "K",SCAN_CODE_38,160,60,14,13 + PUSHBUTTON "L",SCAN_CODE_39,177,60,14,13 + PUSHBUTTON "ò",SCAN_CODE_40,195,60,14,13 + PUSHBUTTON "à",SCAN_CODE_41,213,60,14,13 + PUSHBUTTON "ù",SCAN_CODE_42,231,60,14,13 + PUSHBUTTON "ret",SCAN_CODE_43,248,43,14,30,BS_ICON + PUSHBUTTON "Shift",SCAN_CODE_44,3,77,18,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "<",SCAN_CODE_45,24,77,14,13 + PUSHBUTTON "Z",SCAN_CODE_46,42,77,14,13 + PUSHBUTTON "X",SCAN_CODE_47,60,77,14,13 + PUSHBUTTON "C",SCAN_CODE_48,78,77,14,13 + PUSHBUTTON "V",SCAN_CODE_49,96,77,14,13 + PUSHBUTTON "B",SCAN_CODE_50,113,77,14,13 + PUSHBUTTON "N",SCAN_CODE_51,131,77,14,13 + PUSHBUTTON "M",SCAN_CODE_52,149,77,14,13 + PUSHBUTTON ",",SCAN_CODE_53,167,77,14,13 + PUSHBUTTON ".",SCAN_CODE_54,184,77,14,13 + PUSHBUTTON "-",SCAN_CODE_55,202,77,14,13 + PUSHBUTTON "Shift",SCAN_CODE_57,220,77,43,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ctrl",SCAN_CODE_58,3,94,25,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_127,32,94,18,13,BS_ICON + PUSHBUTTON "alt",SCAN_CODE_60,53,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "",SCAN_CODE_61,74,94,100,13 + PUSHBUTTON "alt gr",SCAN_CODE_62,177,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_128,199,94,18,13,BS_ICON + PUSHBUTTON "menu",SCAN_CODE_129,220,94,18,13,BS_ICON + PUSHBUTTON "ctrl",SCAN_CODE_64,241,94,21,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ins",SCAN_CODE_75,273,26,14,13 + PUSHBUTTON "del",SCAN_CODE_76,273,43,14,13 + PUSHBUTTON "home",SCAN_CODE_80,291,26,14,13,BS_ICON + PUSHBUTTON "fin",SCAN_CODE_81,291,43,14,13 + PUSHBUTTON "pg up",SCAN_CODE_85,309,26,14,13,BS_ICON + PUSHBUTTON "pg down",SCAN_CODE_86,309,43,14,13,BS_ICON + PUSHBUTTON "<-",SCAN_CODE_79,273,94,14,13,BS_ICON + PUSHBUTTON "^",SCAN_CODE_83,291,77,14,13,BS_ICON + PUSHBUTTON "v",SCAN_CODE_84,291,94,14,13,BS_ICON + PUSHBUTTON "->",SCAN_CODE_89,309,94,14,13,BS_ICON + PUSHBUTTON "num",SCAN_CODE_90,334,26,14,13 + PUSHBUTTON "7",SCAN_CODE_91,334,43,14,13 + PUSHBUTTON "4",SCAN_CODE_92,334,60,14,13 + PUSHBUTTON "1",SCAN_CODE_93,334,77,14,13 + PUSHBUTTON "/",SCAN_CODE_95,352,26,14,13 + PUSHBUTTON "8",SCAN_CODE_96,352,43,14,13 + PUSHBUTTON "5",SCAN_CODE_97,352,60,14,13 + PUSHBUTTON "2",SCAN_CODE_98,352,77,14,13 + PUSHBUTTON "0",SCAN_CODE_99,334,94,32,13 + PUSHBUTTON "*",SCAN_CODE_100,369,26,14,13 + PUSHBUTTON "9",SCAN_CODE_101,369,43,14,13 + PUSHBUTTON "6",SCAN_CODE_102,369,60,14,13 + PUSHBUTTON "3",SCAN_CODE_103,369,77,14,13 + PUSHBUTTON ".",SCAN_CODE_104,369,94,14,13 + PUSHBUTTON "-",SCAN_CODE_105,387,26,14,13 + PUSHBUTTON "+",SCAN_CODE_106,387,43,14,30 + PUSHBUTTON "ent",SCAN_CODE_108,387,77,14,30 + CTEXT "Num",IDC_STATIC,334,4,18,8 + CONTROL "",IDC_LED_NUM,"Static","",341,16,4,3 + CTEXT "Caps",IDC_STATIC,359,4,18,8 + CONTROL "",IDC_LED_CAPS,"Static","",366,16,4,3 + CTEXT "Scroll",IDC_STATIC,384,4,18,8 + CONTROL "",IDC_LED_SCROLL,"Static","",391,16,4,3 +END + +/* EOF */ Index: base/applications/osk/lang/pl-PL.rc =================================================================== --- base/applications/osk/lang/pl-PL.rc (revision 0) +++ base/applications/osk/lang/pl-PL.rc (working copy) @@ -0,0 +1,128 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/lang/pl-PL.rc + * PURPOSE: On screen keyboard (Polish resources) + * PROGRAMMERS: Denis ROBERT + */ + +LANGUAGE LANG_POLISH, SUBLANG_NEUTRAL + +MAIN_DIALOG DIALOG DISCARDABLE 0, 0, 404, 108 +CAPTION "Klawiatura Ekranowa" +FONT 8, "MS Sans Serif" +EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +BEGIN + PUSHBUTTON "Esc",SCAN_CODE_110,3,3,14,13 + PUSHBUTTON "F1",SCAN_CODE_112,39,3,14,13 + PUSHBUTTON "F2",SCAN_CODE_113,56,3,14,13 + PUSHBUTTON "F3",SCAN_CODE_114,74,3,14,13 + PUSHBUTTON "F4",SCAN_CODE_115,92,3,14,13 + PUSHBUTTON "F5",SCAN_CODE_116,117,3,14,13 + PUSHBUTTON "F6",SCAN_CODE_117,135,3,14,13 + PUSHBUTTON "F7",SCAN_CODE_118,152,3,14,13 + PUSHBUTTON "F8",SCAN_CODE_119,170,3,14,13 + PUSHBUTTON "F9",SCAN_CODE_120,195,3,14,13 + PUSHBUTTON "F10",SCAN_CODE_121,213,3,14,13 + PUSHBUTTON "F11",SCAN_CODE_122,231,3,14,13 + PUSHBUTTON "F12",SCAN_CODE_123,248,3,14,13 + PUSHBUTTON "Prn",SCAN_CODE_124,273,3,14,13 + PUSHBUTTON "Stop",SCAN_CODE_125,291,3,14,13 + PUSHBUTTON "Attn",SCAN_CODE_126,309,3,14,13 + PUSHBUTTON "`",SCAN_CODE_1,3,26,14,13 + PUSHBUTTON "1",SCAN_CODE_2,21,26,14,13 + PUSHBUTTON "2",SCAN_CODE_3,39,26,14,13 + PUSHBUTTON "3",SCAN_CODE_4,56,26,14,13 + PUSHBUTTON "4",SCAN_CODE_5,74,26,14,13 + PUSHBUTTON "5",SCAN_CODE_6,92,26,14,13 + PUSHBUTTON "6",SCAN_CODE_7,110,26,14,13 + PUSHBUTTON "7",SCAN_CODE_8,128,26,14,13 + PUSHBUTTON "8",SCAN_CODE_9,145,26,14,13 + PUSHBUTTON "9",SCAN_CODE_10,163,26,14,13 + PUSHBUTTON "0",SCAN_CODE_11,181,26,14,13 + PUSHBUTTON "-",SCAN_CODE_12,199,26,14,13 + PUSHBUTTON "=",SCAN_CODE_13,216,26,14,13 + PUSHBUTTON "<--",SCAN_CODE_15,234,26,28,13,BS_ICON + PUSHBUTTON "Tab",SCAN_CODE_16,3,43,21,13,BS_ICON + PUSHBUTTON "Q",SCAN_CODE_17,28,43,14,13 + PUSHBUTTON "W",SCAN_CODE_18,46,43,14,13 + PUSHBUTTON "E",SCAN_CODE_19,64,43,14,13 + PUSHBUTTON "R",SCAN_CODE_20,81,43,14,13 + PUSHBUTTON "T",SCAN_CODE_21,99,43,14,13 + PUSHBUTTON "Y",SCAN_CODE_22,117,43,14,13 + PUSHBUTTON "U",SCAN_CODE_23,135,43,14,13 + PUSHBUTTON "I",SCAN_CODE_24,152,43,14,13 + PUSHBUTTON "O",SCAN_CODE_25,170,43,14,13 + PUSHBUTTON "P",SCAN_CODE_26,188,43,14,13 + PUSHBUTTON "[",SCAN_CODE_27,206,43,14,13 + PUSHBUTTON "]",SCAN_CODE_28,224,43,14,13 + PUSHBUTTON "\\",SCAN_CODE_29,242,43,20,13 + PUSHBUTTON "Caps Lock",SCAN_CODE_30,3,60,28,13,BS_ICON + PUSHBUTTON "A",SCAN_CODE_31,35,60,14,13 + PUSHBUTTON "S",SCAN_CODE_32,53,60,14,13 + PUSHBUTTON "D",SCAN_CODE_33,71,60,14,13 + PUSHBUTTON "F",SCAN_CODE_34,88,60,14,13 + PUSHBUTTON "G",SCAN_CODE_35,106,60,14,13 + PUSHBUTTON "H",SCAN_CODE_36,124,60,14,13 + PUSHBUTTON "J",SCAN_CODE_37,142,60,14,13 + PUSHBUTTON "K",SCAN_CODE_38,160,60,14,13 + PUSHBUTTON "L",SCAN_CODE_39,177,60,14,13 + PUSHBUTTON ";",SCAN_CODE_40,195,60,14,13 + PUSHBUTTON "'",SCAN_CODE_41,213,60,14,13 + PUSHBUTTON "ret",SCAN_CODE_43,231,60,31,13,BS_ICON + PUSHBUTTON "shift",SCAN_CODE_44,3,77,35,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "Z",SCAN_CODE_46,42,77,14,13 + PUSHBUTTON "X",SCAN_CODE_47,60,77,14,13 + PUSHBUTTON "C",SCAN_CODE_48,78,77,14,13 + PUSHBUTTON "V",SCAN_CODE_49,96,77,14,13 + PUSHBUTTON "B",SCAN_CODE_50,113,77,14,13 + PUSHBUTTON "N",SCAN_CODE_51,131,77,14,13 + PUSHBUTTON "M",SCAN_CODE_52,149,77,14,13 + PUSHBUTTON ",",SCAN_CODE_53,167,77,14,13 + PUSHBUTTON ".",SCAN_CODE_54,184,77,14,13 + PUSHBUTTON "/",SCAN_CODE_55,202,77,14,13 + PUSHBUTTON "shift",SCAN_CODE_57,220,77,43,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ctrl",SCAN_CODE_58,3,94,25,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_127,32,94,18,13,BS_ICON + PUSHBUTTON "alt",SCAN_CODE_60,53,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "",SCAN_CODE_61,74,94,100,13 + PUSHBUTTON "alt gr",SCAN_CODE_62,177,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_128,199,94,18,13,BS_ICON + PUSHBUTTON "menu",SCAN_CODE_129,220,94,18,13,BS_ICON + PUSHBUTTON "ctrl",SCAN_CODE_64,241,94,21,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ins",SCAN_CODE_75,273,26,14,13 + PUSHBUTTON "del",SCAN_CODE_76,273,43,14,13 + PUSHBUTTON "home",SCAN_CODE_80,291,26,14,13,BS_ICON + PUSHBUTTON "end",SCAN_CODE_81,291,43,14,13 + PUSHBUTTON "pg AR",SCAN_CODE_85,309,26,14,13,BS_ICON + PUSHBUTTON "pg AV",SCAN_CODE_86,309,43,14,13,BS_ICON + PUSHBUTTON "<-",SCAN_CODE_79,273,94,14,13,BS_ICON + PUSHBUTTON "^",SCAN_CODE_83,291,77,14,13,BS_ICON + PUSHBUTTON "v",SCAN_CODE_84,291,94,14,13,BS_ICON + PUSHBUTTON "->",SCAN_CODE_89,309,94,14,13,BS_ICON + PUSHBUTTON "num",SCAN_CODE_90,334,26,14,13 + PUSHBUTTON "7",SCAN_CODE_91,334,43,14,13 + PUSHBUTTON "4",SCAN_CODE_92,334,60,14,13 + PUSHBUTTON "1",SCAN_CODE_93,334,77,14,13 + PUSHBUTTON "/",SCAN_CODE_95,352,26,14,13 + PUSHBUTTON "8",SCAN_CODE_96,352,43,14,13 + PUSHBUTTON "5",SCAN_CODE_97,352,60,14,13 + PUSHBUTTON "2",SCAN_CODE_98,352,77,14,13 + PUSHBUTTON "0",SCAN_CODE_99,334,94,32,13 + PUSHBUTTON "*",SCAN_CODE_100,369,26,14,13 + PUSHBUTTON "9",SCAN_CODE_101,369,43,14,13 + PUSHBUTTON "6",SCAN_CODE_102,369,60,14,13 + PUSHBUTTON "3",SCAN_CODE_103,369,77,14,13 + PUSHBUTTON ".",SCAN_CODE_104,369,94,14,13 + PUSHBUTTON "-",SCAN_CODE_105,387,26,14,13 + PUSHBUTTON "+",SCAN_CODE_106,387,43,14,30 + PUSHBUTTON "ent",SCAN_CODE_108,387,77,14,30 + CTEXT "Num",IDC_STATIC,334,4,18,8 + CONTROL "",IDC_LED_NUM,"Static","",341,16,4,3 + CTEXT "Caps",IDC_STATIC,359,4,18,8 + CONTROL "",IDC_LED_CAPS,"Static","",366,16,4,3 + CTEXT "Scroll",IDC_STATIC,384,4,18,8 + CONTROL "",IDC_LED_SCROLL,"Static","",391,16,4,3 +END + +/* EOF */ Index: base/applications/osk/lang/ru-RU.rc =================================================================== --- base/applications/osk/lang/ru-RU.rc (revision 0) +++ base/applications/osk/lang/ru-RU.rc (working copy) @@ -0,0 +1,128 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/lang/ru-RU.rc + * PURPOSE: On screen keyboard (Russian resources) + * PROGRAMMERS: Denis ROBERT + */ + +LANGUAGE LANG_RUSSIAN, SUBLANG_NEUTRAL + +MAIN_DIALOG DIALOG DISCARDABLE 0, 0, 404, 108 +CAPTION "Клавиатура визуальный" +FONT 8, "MS Sans Serif" +EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +BEGIN + PUSHBUTTON "Esc",SCAN_CODE_110,3,3,14,13 + PUSHBUTTON "F1",SCAN_CODE_112,39,3,14,13 + PUSHBUTTON "F2",SCAN_CODE_113,56,3,14,13 + PUSHBUTTON "F3",SCAN_CODE_114,74,3,14,13 + PUSHBUTTON "F4",SCAN_CODE_115,92,3,14,13 + PUSHBUTTON "F5",SCAN_CODE_116,117,3,14,13 + PUSHBUTTON "F6",SCAN_CODE_117,135,3,14,13 + PUSHBUTTON "F7",SCAN_CODE_118,152,3,14,13 + PUSHBUTTON "F8",SCAN_CODE_119,170,3,14,13 + PUSHBUTTON "F9",SCAN_CODE_120,195,3,14,13 + PUSHBUTTON "F10",SCAN_CODE_121,213,3,14,13 + PUSHBUTTON "F11",SCAN_CODE_122,231,3,14,13 + PUSHBUTTON "F12",SCAN_CODE_123,248,3,14,13 + PUSHBUTTON "Prn",SCAN_CODE_124,273,3,14,13 + PUSHBUTTON "Stop",SCAN_CODE_125,291,3,14,13 + PUSHBUTTON "Attn",SCAN_CODE_126,309,3,14,13 + PUSHBUTTON "Ë",SCAN_CODE_1,3,26,14,13 + PUSHBUTTON "1",SCAN_CODE_2,21,26,14,13 + PUSHBUTTON "2",SCAN_CODE_3,39,26,14,13 + PUSHBUTTON "3",SCAN_CODE_4,56,26,14,13 + PUSHBUTTON "4",SCAN_CODE_5,74,26,14,13 + PUSHBUTTON "5",SCAN_CODE_6,92,26,14,13 + PUSHBUTTON "6",SCAN_CODE_7,110,26,14,13 + PUSHBUTTON "7",SCAN_CODE_8,128,26,14,13 + PUSHBUTTON "8",SCAN_CODE_9,145,26,14,13 + PUSHBUTTON "9",SCAN_CODE_10,163,26,14,13 + PUSHBUTTON "0",SCAN_CODE_11,180,26,14,13 + PUSHBUTTON "-",SCAN_CODE_12,197,26,14,13 + PUSHBUTTON "=",SCAN_CODE_13,214,26,14,13 + PUSHBUTTON "\\",SCAN_CODE_42,231,26,14,13 + PUSHBUTTON "<--",SCAN_CODE_15,248,26,14,13,BS_ICON + PUSHBUTTON "Tab",SCAN_CODE_16,3,43,21,13,BS_ICON + PUSHBUTTON "Й",SCAN_CODE_17,28,43,14,13 + PUSHBUTTON "Ц",SCAN_CODE_18,46,43,14,13 + PUSHBUTTON "У",SCAN_CODE_19,64,43,14,13 + PUSHBUTTON "К",SCAN_CODE_20,81,43,14,13 + PUSHBUTTON "E",SCAN_CODE_21,99,43,14,13 + PUSHBUTTON "Н",SCAN_CODE_22,117,43,14,13 + PUSHBUTTON "Г",SCAN_CODE_23,135,43,14,13 + PUSHBUTTON "Ш",SCAN_CODE_24,152,43,14,13 + PUSHBUTTON "Щ",SCAN_CODE_25,170,43,14,13 + PUSHBUTTON "З",SCAN_CODE_26,188,43,14,13 + PUSHBUTTON "X",SCAN_CODE_27,206,43,14,13 + PUSHBUTTON "Ъ",SCAN_CODE_28,224,43,14,13 + PUSHBUTTON "Caps lock",SCAN_CODE_30,3,60,28,13,BS_ICON + PUSHBUTTON "Ф",SCAN_CODE_31,35,60,14,13 + PUSHBUTTON "Ы",SCAN_CODE_32,53,60,14,13 + PUSHBUTTON "В",SCAN_CODE_33,71,60,14,13 + PUSHBUTTON "A",SCAN_CODE_34,88,60,14,13 + PUSHBUTTON "П",SCAN_CODE_35,106,60,14,13 + PUSHBUTTON "P",SCAN_CODE_36,124,60,14,13 + PUSHBUTTON "O",SCAN_CODE_37,142,60,14,13 + PUSHBUTTON "Л",SCAN_CODE_38,160,60,14,13 + PUSHBUTTON "Д",SCAN_CODE_39,177,60,14,13 + PUSHBUTTON "Ж",SCAN_CODE_40,195,60,14,13 + PUSHBUTTON "Э",SCAN_CODE_41,213,60,14,13 + PUSHBUTTON "ret",SCAN_CODE_43,242,43,20,30,BS_ICON + PUSHBUTTON "shift",SCAN_CODE_44,3,77,35,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "Я",SCAN_CODE_46,42,77,14,13 + PUSHBUTTON "Ч",SCAN_CODE_47,60,77,14,13 + PUSHBUTTON "C",SCAN_CODE_48,78,77,14,13 + PUSHBUTTON "M",SCAN_CODE_49,96,77,14,13 + PUSHBUTTON "И",SCAN_CODE_50,113,77,14,13 + PUSHBUTTON "T",SCAN_CODE_51,131,77,14,13 + PUSHBUTTON "b",SCAN_CODE_52,149,77,14,13 + PUSHBUTTON "Б",SCAN_CODE_53,167,77,14,13 + PUSHBUTTON "Ю",SCAN_CODE_54,184,77,14,13 + PUSHBUTTON ".",SCAN_CODE_55,202,77,14,13 + PUSHBUTTON "shift",SCAN_CODE_57,220,77,43,13,BS_ICON|BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ctrl",SCAN_CODE_58,3,94,25,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_127,32,94,18,13,BS_ICON + PUSHBUTTON "alt",SCAN_CODE_60,53,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "",SCAN_CODE_61,74,94,100,13 + PUSHBUTTON "alt gr",SCAN_CODE_62,177,94,18,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ROS",SCAN_CODE_128,199,94,18,13,BS_ICON + PUSHBUTTON "menu",SCAN_CODE_129,220,94,18,13,BS_ICON + PUSHBUTTON "ctrl",SCAN_CODE_64,241,94,21,13,BS_PUSHLIKE|BS_AUTOCHECKBOX + PUSHBUTTON "ins",SCAN_CODE_75,273,26,14,13 + PUSHBUTTON "del",SCAN_CODE_76,273,43,14,13 + PUSHBUTTON "home",SCAN_CODE_80,291,26,14,13,BS_ICON + PUSHBUTTON "end",SCAN_CODE_81,291,43,14,13 + PUSHBUTTON "pg AR",SCAN_CODE_85,309,26,14,13,BS_ICON + PUSHBUTTON "pg AV",SCAN_CODE_86,309,43,14,13,BS_ICON + PUSHBUTTON "<-",SCAN_CODE_79,273,94,14,13,BS_ICON + PUSHBUTTON "^",SCAN_CODE_83,291,77,14,13,BS_ICON + PUSHBUTTON "v",SCAN_CODE_84,291,94,14,13,BS_ICON + PUSHBUTTON "->",SCAN_CODE_89,309,94,14,13,BS_ICON + PUSHBUTTON "num",SCAN_CODE_90,334,26,14,13 + PUSHBUTTON "7",SCAN_CODE_91,334,43,14,13 + PUSHBUTTON "4",SCAN_CODE_92,334,60,14,13 + PUSHBUTTON "1",SCAN_CODE_93,334,77,14,13 + PUSHBUTTON "/",SCAN_CODE_95,352,26,14,13 + PUSHBUTTON "8",SCAN_CODE_96,352,43,14,13 + PUSHBUTTON "5",SCAN_CODE_97,352,60,14,13 + PUSHBUTTON "2",SCAN_CODE_98,352,77,14,13 + PUSHBUTTON "0",SCAN_CODE_99,334,94,32,13 + PUSHBUTTON "*",SCAN_CODE_100,369,26,14,13 + PUSHBUTTON "9",SCAN_CODE_101,369,43,14,13 + PUSHBUTTON "6",SCAN_CODE_102,369,60,14,13 + PUSHBUTTON "3",SCAN_CODE_103,369,77,14,13 + PUSHBUTTON ".",SCAN_CODE_104,369,94,14,13 + PUSHBUTTON "-",SCAN_CODE_105,387,26,14,13 + PUSHBUTTON "+",SCAN_CODE_106,387,43,14,30 + PUSHBUTTON "ent",SCAN_CODE_108,387,77,14,30 + CTEXT "Num",IDC_STATIC,334,4,18,8 + CONTROL "",IDC_LED_NUM,"Static","",341,16,4,3 + CTEXT "Caps",IDC_STATIC,359,4,18,8 + CONTROL "",IDC_LED_CAPS,"Static","",366,16,4,3 + CTEXT "Scroll",IDC_STATIC,384,4,18,8 + CONTROL "",IDC_LED_SCROLL,"Static","",391,16,4,3 +END + +/* EOF */ Index: base/applications/osk/main.c =================================================================== --- base/applications/osk/main.c (revision 0) +++ base/applications/osk/main.c (working copy) @@ -0,0 +1,410 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/main.c + * PURPOSE: On screen keyboard. + * PROGRAMMERS: Denis ROBERT + */ + +/* INCLUDES ******************************************************************/ +#include "osk.h" + +OSK_GLOBALS Globals; + +/* Functions */ +int OSK_SetImage(int IdDlgItem, int IdResource); +int OSK_DlgInitDialog(HWND hDlg); +int OSK_DlgClose(void); +int OSK_DlgTimer(void); +BOOL OSK_DlgCommand(WPARAM wCommand, HWND hWndControl); +BOOL OSK_ReleaseKey(WORD ScanCode); + +INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); +int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int); + + + +/*********************************************************************** + * + * OSK_SetImage + * + * Set an image on a button + */ +int OSK_SetImage(int IdDlgItem, int IdResource) +{ + HICON hIcon; + HWND hWndItem; + + hIcon = (HICON) LoadImage(Globals.hInstance, MAKEINTRESOURCE(IdResource), + IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); + if (hIcon == NULL) return FALSE; + + hWndItem = GetDlgItem(Globals.hMainWnd, IdDlgItem); + if (hWndItem == NULL) return FALSE; + + SendMessage(hWndItem, BM_SETIMAGE, (WPARAM) IMAGE_ICON, (LPARAM) hIcon ); + + /* The system automatically deletes these resources when the process that created them terminates (msdn) */ + + return TRUE; +} + + +/*********************************************************************** + * + * OSK_DlgInitDialog + * + * Handling of WM_INITDIALOG + */ +int OSK_DlgInitDialog(HWND hDlg) +{ + HMONITOR monitor; + MONITORINFO info; + POINT Pt; + RECT rcWindow; + + /* Save handle */ + Globals.hMainWnd = hDlg; + + /* Get screen info */ + memset(&Pt, 0, sizeof(Pt)); + monitor = MonitorFromPoint(Pt, MONITOR_DEFAULTTOPRIMARY ); + info.cbSize = sizeof(info); + GetMonitorInfoW(monitor, &info); + + /* Move the dialog on the bottom of main screen */ + GetWindowRect(hDlg, &rcWindow); + MoveWindow( + hDlg, + (info.rcMonitor.left + info.rcMonitor.right) / 2 - // Center of screen + (rcWindow.right - rcWindow.left) / 2, // - half size of dialog + info.rcMonitor.bottom - // Bottom of screen + (rcWindow.bottom - rcWindow.top), // - size of window + (rcWindow.right - rcWindow.left), // Width + (rcWindow.bottom - rcWindow.top), // Height + TRUE); + + /* Set icon on visual buttons */ + OSK_SetImage(SCAN_CODE_15, IDI_BACK); + OSK_SetImage(SCAN_CODE_16, IDI_TAB); + OSK_SetImage(SCAN_CODE_30, IDI_CAPS_LOCK); + OSK_SetImage(SCAN_CODE_43, IDI_RETURN); + OSK_SetImage(SCAN_CODE_44, IDI_SHIFT); + OSK_SetImage(SCAN_CODE_57, IDI_SHIFT); + OSK_SetImage(SCAN_CODE_127, IDI_REACTOS); + OSK_SetImage(SCAN_CODE_128, IDI_REACTOS); + OSK_SetImage(SCAN_CODE_129, IDI_MENU); + OSK_SetImage(SCAN_CODE_80, IDI_HOME); + OSK_SetImage(SCAN_CODE_85, IDI_PG_UP); + OSK_SetImage(SCAN_CODE_86, IDI_PG_DOWN); + OSK_SetImage(SCAN_CODE_79, IDI_LEFT); + OSK_SetImage(SCAN_CODE_83, IDI_TOP); + OSK_SetImage(SCAN_CODE_84, IDI_BOTTOM); + OSK_SetImage(SCAN_CODE_89, IDI_RIGHT); + + /* Create a green brush for leds */ + Globals.hBrushGreenLed = CreateSolidBrush(RGB(0, 255, 0)); + + /* Set a timer for periodics tasks */ + Globals.iTimer = SetTimer(hDlg, 0, 200, NULL); + + return TRUE; +} + +/*********************************************************************** + * + * OSK_DlgClose + * + * Handling of WM_CLOSE + */ +int OSK_DlgClose(void) +{ + + KillTimer(Globals.hMainWnd, Globals.iTimer); + + /* Release ctrl, shift, alt keys */ + OSK_ReleaseKey(SCAN_CODE_44); // Left shift + OSK_ReleaseKey(SCAN_CODE_57); // Right shift + OSK_ReleaseKey(SCAN_CODE_58); // Left ctrl + OSK_ReleaseKey(SCAN_CODE_60); // Left alt + OSK_ReleaseKey(SCAN_CODE_62); // Right alt + OSK_ReleaseKey(SCAN_CODE_64); // Right ctrl + + /* delete GDI objects */ + if (Globals.hBrushGreenLed) DeleteObject(Globals.hBrushGreenLed); + + return TRUE; +} + +/*********************************************************************** + * + * OSK_DlgTimer + * + * Handling of WM_TIMER + */ +int OSK_DlgTimer(void) +{ + + /* FIXME: To be deleted when Reactos will support WS_EX_NOACTIVATE */ + HWND hWndActiveWindow; + + hWndActiveWindow = GetForegroundWindow(); + if (hWndActiveWindow != NULL && hWndActiveWindow != Globals.hMainWnd) + { + Globals.hActiveWnd = hWndActiveWindow; + } + /*******************************************************************/ + + /* Always redraw leds because it can be changed by the real keyboard) */ + InvalidateRect(GetDlgItem(Globals.hMainWnd, IDC_LED_NUM), NULL, TRUE); + InvalidateRect(GetDlgItem(Globals.hMainWnd, IDC_LED_CAPS), NULL, TRUE); + InvalidateRect(GetDlgItem(Globals.hMainWnd, IDC_LED_SCROLL), NULL, TRUE); + + return TRUE; +} + +/*********************************************************************** + * + * OSK_DlgCommand + * + * All handling of dialog command + */ +BOOL OSK_DlgCommand(WPARAM wCommand, HWND hWndControl) +{ + WORD ScanCode; + INPUT Input; + BOOL bExtendedKey; + BOOL bKeyDown; + BOOL bKeyUp; + LONG WindowStyle; + + + /* FIXME: To be deleted when Reactos will support WS_EX_NOACTIVATE */ + if (Globals.hActiveWnd) + { + MSG msg; + + SetForegroundWindow(Globals.hActiveWnd); + while (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + /*******************************************************************/ + + /* KeyDown and/or KeyUp ? */ + WindowStyle = GetWindowLong(hWndControl, GWL_STYLE); + if ((WindowStyle & BS_AUTOCHECKBOX) == BS_AUTOCHECKBOX) + { + /* 2-states key like Shift, Alt, Ctrl, ... */ + if (SendMessage(hWndControl, BM_GETCHECK, 0, 0) == BST_CHECKED) + { + bKeyDown = TRUE; + bKeyUp = FALSE; + } + else + { + bKeyDown = FALSE; + bKeyUp = TRUE; + } + } + else + { + /* Other key */ + bKeyDown = TRUE; + bKeyUp = TRUE; + } + + /* Extended key ? */ + ScanCode = wCommand; + if (ScanCode & 0x0200) bExtendedKey = TRUE; + else bExtendedKey = FALSE; + ScanCode &= 0xFF; + + /* Press and release the key */ + if (bKeyDown) + { + Input.type = INPUT_KEYBOARD; + Input.ki.wVk = 0; + Input.ki.wScan = ScanCode; + Input.ki.time = GetTickCount(); + Input.ki.dwExtraInfo = GetMessageExtraInfo(); + Input.ki.dwFlags = KEYEVENTF_SCANCODE; + if (bExtendedKey) Input.ki.dwFlags |= KEYEVENTF_EXTENDEDKEY; + SendInput(1, &Input, sizeof(Input)); + } + + if (bKeyUp) + { + Input.type = INPUT_KEYBOARD; + Input.ki.wVk = 0; + Input.ki.wScan = ScanCode; + Input.ki.time = GetTickCount(); + Input.ki.dwExtraInfo = GetMessageExtraInfo(); + Input.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP; + if (bExtendedKey) Input.ki.dwFlags |= KEYEVENTF_EXTENDEDKEY; + SendInput(1, &Input, sizeof(Input)); + } + + return TRUE; +} + +/*********************************************************************** + * + * OSK_ReleaseKey + * + * Release the key of ID wCommand + */ +BOOL OSK_ReleaseKey(WORD ScanCode) +{ + INPUT Input; + BOOL bExtendedKey; + LONG WindowStyle; + HWND hWndControl; + + + /* Is it a 2-states key ? */ + hWndControl = GetDlgItem(Globals.hMainWnd, ScanCode); + WindowStyle = GetWindowLong(hWndControl, GWL_STYLE); + if ((WindowStyle & BS_AUTOCHECKBOX) != BS_AUTOCHECKBOX) return FALSE; + + /* Is the key down ? */ + if (SendMessage(hWndControl, BM_GETCHECK, 0, 0) != BST_CHECKED) return TRUE; + + /* Extended key ? */ + if (ScanCode & 0x0200) bExtendedKey = TRUE; + else bExtendedKey = FALSE; + ScanCode &= 0xFF; + + /* Release the key */ + Input.type = INPUT_KEYBOARD; + Input.ki.wVk = 0; + Input.ki.wScan = ScanCode; + Input.ki.time = GetTickCount(); + Input.ki.dwExtraInfo = GetMessageExtraInfo(); + Input.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP; + if (bExtendedKey) Input.ki.dwFlags |= KEYEVENTF_EXTENDEDKEY; + SendInput(1, &Input, sizeof(Input)); + + return TRUE; +} + +/*********************************************************************** + * + * OSK_DlgProc + */ +INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch (msg) + { + + case WM_INITDIALOG: + OSK_DlgInitDialog(hDlg); + return TRUE; + + case WM_TIMER: + OSK_DlgTimer(); + return TRUE; + + case WM_CTLCOLORSTATIC: + if ((HWND) lParam == GetDlgItem(hDlg, IDC_LED_NUM)) + { + if (GetKeyState(VK_NUMLOCK) & 0x0001) + { + return (INT_PTR) Globals.hBrushGreenLed; + } + else + { + return (INT_PTR) GetStockObject(BLACK_BRUSH); + } + } + if ((HWND) lParam == GetDlgItem(hDlg, IDC_LED_CAPS)) + { + if (GetKeyState(VK_CAPITAL) & 0x0001) + { + return (INT_PTR) Globals.hBrushGreenLed; + } + else + { + return (INT_PTR) GetStockObject(BLACK_BRUSH); + } + } + if ((HWND) lParam == GetDlgItem(hDlg, IDC_LED_SCROLL)) + { + if (GetKeyState(VK_SCROLL) & 0x0001) + { + return (INT_PTR) Globals.hBrushGreenLed; + } + else + { + return (INT_PTR) GetStockObject(BLACK_BRUSH); + } + } + break; + + case WM_COMMAND: + if (wParam == IDCANCEL) EndDialog(hDlg, FALSE); + else if (wParam != IDC_STATIC) OSK_DlgCommand(wParam, (HWND) lParam); + break; + + case WM_CLOSE: + OSK_DlgClose(); + break; + + } + return 0; +} + +/*********************************************************************** + * + * WinMain + */ +int WINAPI _tWinMain( + HINSTANCE hInstance, + HINSTANCE prev, + LPTSTR cmdline, + int show) +{ + HANDLE hMutex; + + UNREFERENCED_PARAMETER(prev); + UNREFERENCED_PARAMETER(cmdline); + UNREFERENCED_PARAMETER(show); + + ZeroMemory(&Globals, sizeof(Globals)); + Globals.hInstance = hInstance; + + /* try to open a mutex for a single instance */ + hMutex = OpenMutexA(MUTEX_ALL_ACCESS, FALSE, "osk"); + + if (!hMutex) + { + /* Mutex doesnt exist. This is + * the first instance so create + * the mutex. */ + hMutex = CreateMutexA(NULL, FALSE, "osk"); + + DialogBox( + hInstance, + MAKEINTRESOURCE(MAIN_DIALOG), + GetDesktopWindow(), + OSK_DlgProc); + + /* delete the mutex */ + if (hMutex) CloseHandle(hMutex); + } + else + { + /* Programme already launched */ + + /* delete the mutex */ + CloseHandle(hMutex); + + ExitProcess(0); + } + + return 0; +} + +/* EOF */ Index: base/applications/osk/main.h =================================================================== --- base/applications/osk/main.h (revision 0) +++ base/applications/osk/main.h (working copy) @@ -0,0 +1,31 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/main.h + * PURPOSE: On screen keyboard. + * PROGRAMMERS: Denis ROBERT + */ + +/* INCLUDES ******************************************************************/ +#include "osk_res.h" + +/* STRUCTURES ****************************************************************/ + +typedef struct +{ + HINSTANCE hInstance; + HWND hMainWnd; + HBRUSH hBrushGreenLed; + UINT_PTR iTimer; + /* FIXME: To be deleted when Reactos will support WS_EX_NOACTIVATE */ + HWND hActiveWnd; + /*******************************************************************/ +} OSK_GLOBALS; + +/* DEFINES *******************************************************************/ + +extern OSK_GLOBALS Globals; + +#define countof(x) (sizeof(x) / sizeof((x)[0])) + +/* EOF */ Index: base/applications/osk/osk.h =================================================================== --- base/applications/osk/osk.h (revision 0) +++ base/applications/osk/osk.h (working copy) @@ -0,0 +1,26 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/osk.h + * PURPOSE: On screen keyboard. + * PROGRAMMERS: Denis ROBERT + */ + +#ifndef STRSAFE_NO_DEPRECATE +#define STRSAFE_NO_DEPRECATE +#endif + +/* INCLUDES ******************************************************************/ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "main.h" + +/* EOF */ Index: base/applications/osk/osk_res.h =================================================================== --- base/applications/osk/osk_res.h (revision 0) +++ base/applications/osk/osk_res.h (working copy) @@ -0,0 +1,146 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/osk_res.h + * PURPOSE: On screen keyboard. + * PROGRAMMERS: Denis ROBERT + */ + +#define MAIN_DIALOG 2000 + +#define IDC_LED_NUM 100 +#define IDC_LED_CAPS 101 +#define IDC_LED_SCROLL 102 + +#define IDI_OSK 200 +#define IDI_BACK 201 +#define IDI_TAB 202 +#define IDI_CAPS_LOCK 203 +#define IDI_RETURN 204 +#define IDI_SHIFT 205 +#define IDI_REACTOS 206 +#define IDI_MENU 207 +#define IDI_HOME 208 +#define IDI_PG_UP 209 +#define IDI_PG_DOWN 210 +#define IDI_LEFT 211 +#define IDI_TOP 212 +#define IDI_RIGHT 213 +#define IDI_BOTTOM 214 + +#define IDC_STATIC -1 + + +/* Scan codes by key number */ +/* + 0x0100 to avoid a conflict with IDCANCEL = 2 */ +/* + 0x0200 if extended key */ + +#define SCAN_CODE_1 0x0129 +#define SCAN_CODE_2 0x0102 +#define SCAN_CODE_3 0x0103 +#define SCAN_CODE_4 0x0104 +#define SCAN_CODE_5 0x0105 +#define SCAN_CODE_6 0x0106 +#define SCAN_CODE_7 0x0107 +#define SCAN_CODE_8 0x0108 +#define SCAN_CODE_9 0x0109 +#define SCAN_CODE_10 0x010A +#define SCAN_CODE_11 0x010B +#define SCAN_CODE_12 0x010C +#define SCAN_CODE_13 0x010D +#define SCAN_CODE_15 0x010E +#define SCAN_CODE_16 0x010F +#define SCAN_CODE_17 0x0110 +#define SCAN_CODE_18 0x0111 +#define SCAN_CODE_19 0x0112 +#define SCAN_CODE_20 0x0113 +#define SCAN_CODE_21 0x0114 +#define SCAN_CODE_22 0x0115 +#define SCAN_CODE_23 0x0116 +#define SCAN_CODE_24 0x0117 +#define SCAN_CODE_25 0x0118 +#define SCAN_CODE_26 0x0119 +#define SCAN_CODE_27 0x011A +#define SCAN_CODE_28 0x011B +#define SCAN_CODE_29 0x012B +#define SCAN_CODE_30 0x013A +#define SCAN_CODE_31 0x011E +#define SCAN_CODE_32 0x011F +#define SCAN_CODE_33 0x0120 +#define SCAN_CODE_34 0x0121 +#define SCAN_CODE_35 0x0122 +#define SCAN_CODE_36 0x0123 +#define SCAN_CODE_37 0x0124 +#define SCAN_CODE_38 0x0125 +#define SCAN_CODE_39 0x0126 +#define SCAN_CODE_40 0x0127 +#define SCAN_CODE_41 0x0128 +#define SCAN_CODE_42 0x012B +#define SCAN_CODE_43 0x011C +#define SCAN_CODE_44 0x012A +#define SCAN_CODE_45 0x0156 +#define SCAN_CODE_46 0x012C +#define SCAN_CODE_47 0x012D +#define SCAN_CODE_48 0x012E +#define SCAN_CODE_49 0x012F +#define SCAN_CODE_50 0x0130 +#define SCAN_CODE_51 0x0131 +#define SCAN_CODE_52 0x0132 +#define SCAN_CODE_53 0x0133 +#define SCAN_CODE_54 0x0134 +#define SCAN_CODE_55 0x0135 +#define SCAN_CODE_57 0x0136 +#define SCAN_CODE_58 0x011D +#define SCAN_CODE_60 0x0138 +#define SCAN_CODE_61 0x0139 +#define SCAN_CODE_62 0x0338 +#define SCAN_CODE_64 0x031D +#define SCAN_CODE_75 0x0352 +#define SCAN_CODE_76 0x0353 +#define SCAN_CODE_79 0x034B +#define SCAN_CODE_80 0x0347 +#define SCAN_CODE_81 0x034F +#define SCAN_CODE_83 0x0348 +#define SCAN_CODE_84 0x0350 +#define SCAN_CODE_85 0x0349 +#define SCAN_CODE_86 0x0351 +#define SCAN_CODE_89 0x034D +#define SCAN_CODE_90 0x0145 +#define SCAN_CODE_91 0x0147 +#define SCAN_CODE_92 0x014B +#define SCAN_CODE_93 0x014F +#define SCAN_CODE_95 0x0335 +#define SCAN_CODE_96 0x0148 +#define SCAN_CODE_97 0x014C +#define SCAN_CODE_98 0x0150 +#define SCAN_CODE_99 0x0152 +#define SCAN_CODE_100 0x0137 +#define SCAN_CODE_101 0x0149 +#define SCAN_CODE_102 0x014D +#define SCAN_CODE_103 0x0151 +#define SCAN_CODE_104 0x0153 +#define SCAN_CODE_105 0x014A +#define SCAN_CODE_106 0x014E +#define SCAN_CODE_108 0x031C +#define SCAN_CODE_110 0x0101 +#define SCAN_CODE_112 0x013B +#define SCAN_CODE_113 0x013C +#define SCAN_CODE_114 0x013D +#define SCAN_CODE_115 0x013E +#define SCAN_CODE_116 0x013F +#define SCAN_CODE_117 0x0140 +#define SCAN_CODE_118 0x0141 +#define SCAN_CODE_119 0x0142 +#define SCAN_CODE_120 0x0143 +#define SCAN_CODE_121 0x0144 +#define SCAN_CODE_122 0x0157 +#define SCAN_CODE_123 0x0158 +#define SCAN_CODE_124 0x032A +#define SCAN_CODE_125 0x0146 +#define SCAN_CODE_126 0x071D + +#define SCAN_CODE_127 0x035B // Left ROS +#define SCAN_CODE_128 0x035C // Right ROS +#define SCAN_CODE_129 0x035D // Applications + +/* EOF */ Index: base/applications/osk/res =================================================================== --- base/applications/osk/res (revision 0) +++ base/applications/osk/res (working copy) Property changes on: base/applications/osk/res ___________________________________________________________________ Added: bugtraq:url ## -0,0 +1 ## +http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID% \ No newline at end of property Added: bugtraq:message ## -0,0 +1 ## +See issue #%BUGID% for more details. \ No newline at end of property Added: tsvn:logminsize ## -0,0 +1 ## +10 \ No newline at end of property Added: bugtraq:logregex ## -0,0 +1,2 ## +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+) \ No newline at end of property Index: base/applications/osk/res/back.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/back.ico =================================================================== --- base/applications/osk/res/back.ico (revision 0) +++ base/applications/osk/res/back.ico (working copy) Property changes on: base/applications/osk/res/back.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/bottom.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/bottom.ico =================================================================== --- base/applications/osk/res/bottom.ico (revision 0) +++ base/applications/osk/res/bottom.ico (working copy) Property changes on: base/applications/osk/res/bottom.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/caps_lock.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/caps_lock.ico =================================================================== --- base/applications/osk/res/caps_lock.ico (revision 0) +++ base/applications/osk/res/caps_lock.ico (working copy) Property changes on: base/applications/osk/res/caps_lock.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/home.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/home.ico =================================================================== --- base/applications/osk/res/home.ico (revision 0) +++ base/applications/osk/res/home.ico (working copy) Property changes on: base/applications/osk/res/home.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/left.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/left.ico =================================================================== --- base/applications/osk/res/left.ico (revision 0) +++ base/applications/osk/res/left.ico (working copy) Property changes on: base/applications/osk/res/left.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/menu.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/menu.ico =================================================================== --- base/applications/osk/res/menu.ico (revision 0) +++ base/applications/osk/res/menu.ico (working copy) Property changes on: base/applications/osk/res/menu.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/osk.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/osk.ico =================================================================== --- base/applications/osk/res/osk.ico (revision 0) +++ base/applications/osk/res/osk.ico (working copy) Property changes on: base/applications/osk/res/osk.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/pg_down.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/pg_down.ico =================================================================== --- base/applications/osk/res/pg_down.ico (revision 0) +++ base/applications/osk/res/pg_down.ico (working copy) Property changes on: base/applications/osk/res/pg_down.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/pg_up.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/pg_up.ico =================================================================== --- base/applications/osk/res/pg_up.ico (revision 0) +++ base/applications/osk/res/pg_up.ico (working copy) Property changes on: base/applications/osk/res/pg_up.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/reactos.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/reactos.ico =================================================================== --- base/applications/osk/res/reactos.ico (revision 0) +++ base/applications/osk/res/reactos.ico (working copy) Property changes on: base/applications/osk/res/reactos.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/return.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/return.ico =================================================================== --- base/applications/osk/res/return.ico (revision 0) +++ base/applications/osk/res/return.ico (working copy) Property changes on: base/applications/osk/res/return.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/right.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/right.ico =================================================================== --- base/applications/osk/res/right.ico (revision 0) +++ base/applications/osk/res/right.ico (working copy) Property changes on: base/applications/osk/res/right.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/shift.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/shift.ico =================================================================== --- base/applications/osk/res/shift.ico (revision 0) +++ base/applications/osk/res/shift.ico (working copy) Property changes on: base/applications/osk/res/shift.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/tab.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/tab.ico =================================================================== --- base/applications/osk/res/tab.ico (revision 0) +++ base/applications/osk/res/tab.ico (working copy) Property changes on: base/applications/osk/res/tab.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/res/top.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: base/applications/osk/res/top.ico =================================================================== --- base/applications/osk/res/top.ico (revision 0) +++ base/applications/osk/res/top.ico (working copy) Property changes on: base/applications/osk/res/top.ico ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: base/applications/osk/rsrc.rc =================================================================== --- base/applications/osk/rsrc.rc (revision 0) +++ base/applications/osk/rsrc.rc (working copy) @@ -0,0 +1,68 @@ +/* + * PROJECT: ReactOS Kernel + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/applications/osk/rsrc.rc + * PURPOSE: On Screen Keyboard + * PROGRAMMERS: Denis ROBERT + */ + +/* INCLUDES ******************************************************************/ +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "main.h" +#include "winnls.h" +#include "commctrl.h" +#include "osk_res.h" + +#include + + +IDI_OSK ICON "res/osk.ico" + +IDI_BACK ICON "res/back.ico" +IDI_TAB ICON "res/tab.ico" +IDI_CAPS_LOCK ICON "res/caps_lock.ico" +IDI_RETURN ICON "res/return.ico" +IDI_SHIFT ICON "res/shift.ico" +IDI_REACTOS ICON "res/reactos.ico" +IDI_MENU ICON "res/menu.ico" +IDI_HOME ICON "res/home.ico" +IDI_PG_UP ICON "res/pg_up.ico" +IDI_PG_DOWN ICON "res/pg_down.ico" +IDI_LEFT ICON "res/left.ico" +IDI_TOP ICON "res/top.ico" +IDI_RIGHT ICON "res/right.ico" +IDI_BOTTOM ICON "res/bottom.ico" + +// UTF-8 +#pragma code_page(65001) +#ifdef LANGUAGE_AR_DZ + #include "lang/ar-DZ.rc" +#endif +#ifdef LANGUAGE_EN_US + #include "lang/en-US.rc" +#endif +#ifdef LANGUAGE_EN_GB + #include "lang/en-GB.rc" +#endif +#ifdef LANGUAGE_ES_ES + #include "lang/es-ES.rc" +#endif +#ifdef LANGUAGE_FR_CA + #include "lang/fr-CA.rc" +#endif +#ifdef LANGUAGE_FR_FR + #include "lang/fr-FR.rc" +#endif +#ifdef LANGUAGE_IT_IT + #include "lang/it-IT.rc" +#endif +#ifdef LANGUAGE_PL_PL + #include "lang/pl-PL.rc" +#endif +#ifdef LANGUAGE_RU_RU + #include "lang/ru-RU.rc" +#endif + +/* EOF */