Author: rharabien Date: Wed Oct 5 14:09:51 2011 New Revision: 54006
URL: http://svn.reactos.org/svn/reactos?rev=54006&view=rev Log: [WIN32K] - Rewrite keyboard input processing to match windows behavior - Deduplicate code, add comments, mark functions static - Support keyboard LEDs in SendInput API - Set last error in more places - Make keyboard layouts compatible with Windows - Add some defines from keyboard layouts to kbd.h and use names from MS file - Move kbd.h from ntoskrnl to NDK as it has nothing to do with kernel - More fixes which I don't remember - Please test CAPSLOCK key with AltGr characters (RALT+X) for layouts which support it. If something fails, report it to me on IRC
Added: trunk/reactos/include/ndk/kbd.h - copied, changed from r53930, trunk/reactos/ntoskrnl/include/internal/kbd.h Removed: trunk/reactos/ntoskrnl/include/internal/kbd.h Modified: trunk/reactos/dll/keyboard/kbda1/kbda1.c trunk/reactos/dll/keyboard/kbda2/kbda2.c trunk/reactos/dll/keyboard/kbda3/kbda3.c trunk/reactos/dll/keyboard/kbdal/kbdal.c trunk/reactos/dll/keyboard/kbdarme/kbdarme.c trunk/reactos/dll/keyboard/kbdarmw/kbdarmw.c trunk/reactos/dll/keyboard/kbdaze/kbdaze.c trunk/reactos/dll/keyboard/kbdazel/kbdazel.c trunk/reactos/dll/keyboard/kbdbe/kbdbe.c trunk/reactos/dll/keyboard/kbdbga/kbdbga.c trunk/reactos/dll/keyboard/kbdbgm/kbdbgm.c trunk/reactos/dll/keyboard/kbdbgt/kbdbgt.c trunk/reactos/dll/keyboard/kbdblr/kbdblr.c trunk/reactos/dll/keyboard/kbdbr/kbdbr.c trunk/reactos/dll/keyboard/kbdbur/kbdbur.c trunk/reactos/dll/keyboard/kbdcan/kbdcan.c trunk/reactos/dll/keyboard/kbdcr/kbdcr.c trunk/reactos/dll/keyboard/kbdcz/kbdcz.c trunk/reactos/dll/keyboard/kbdcz1/kbdcz1.c trunk/reactos/dll/keyboard/kbdda/kbdda.c trunk/reactos/dll/keyboard/kbddv/kbddv.c trunk/reactos/dll/keyboard/kbdes/kbdes.c trunk/reactos/dll/keyboard/kbdest/kbdest.c trunk/reactos/dll/keyboard/kbdfc/kbdfc.c trunk/reactos/dll/keyboard/kbdfi/kbdfi.c trunk/reactos/dll/keyboard/kbdfr/kbdfr.c trunk/reactos/dll/keyboard/kbdgeo/kbdgeo.c trunk/reactos/dll/keyboard/kbdgerg/kbdgerg.c trunk/reactos/dll/keyboard/kbdgneo/kbdgneo.c trunk/reactos/dll/keyboard/kbdgr/kbdgr.c trunk/reactos/dll/keyboard/kbdgrist/kbdgrist.c trunk/reactos/dll/keyboard/kbdhe/kbdhe.c trunk/reactos/dll/keyboard/kbdheb/kbdheb.c trunk/reactos/dll/keyboard/kbdhu/kbdhu.c trunk/reactos/dll/keyboard/kbdic/kbdic.c trunk/reactos/dll/keyboard/kbdinasa/kbdinasa.c trunk/reactos/dll/keyboard/kbdinben/kbdinben.c trunk/reactos/dll/keyboard/kbdindev/kbdindev.c trunk/reactos/dll/keyboard/kbdinguj/kbdinguj.c trunk/reactos/dll/keyboard/kbdinmal/kbdinmal.c trunk/reactos/dll/keyboard/kbdir/kbdir.c trunk/reactos/dll/keyboard/kbdit/kbdit.c trunk/reactos/dll/keyboard/kbdja/kbdja.c trunk/reactos/dll/keyboard/kbdkaz/kbdkaz.c trunk/reactos/dll/keyboard/kbdko/kbdko.c trunk/reactos/dll/keyboard/kbdla/kbdla.c trunk/reactos/dll/keyboard/kbdlt1/kbdlt1.c trunk/reactos/dll/keyboard/kbdlv/kbdlv.c trunk/reactos/dll/keyboard/kbdmac/kbdmac.c trunk/reactos/dll/keyboard/kbdne/kbdne.c trunk/reactos/dll/keyboard/kbdno/kbdno.c trunk/reactos/dll/keyboard/kbdpl1/kbdpl1.c trunk/reactos/dll/keyboard/kbdpo/kbdpo.c trunk/reactos/dll/keyboard/kbdro/kbdro.c trunk/reactos/dll/keyboard/kbdru/kbdru.c trunk/reactos/dll/keyboard/kbdru1/kbdru1.c trunk/reactos/dll/keyboard/kbdsg/kbdsg.c trunk/reactos/dll/keyboard/kbdsk/kbdsk.c trunk/reactos/dll/keyboard/kbdsk1/kbdsk1.c trunk/reactos/dll/keyboard/kbdsw/kbdsw.c trunk/reactos/dll/keyboard/kbdtat/kbdtat.c trunk/reactos/dll/keyboard/kbdth0/kbdth0.c trunk/reactos/dll/keyboard/kbdth1/kbdth1.c trunk/reactos/dll/keyboard/kbdth2/kbdth2.c trunk/reactos/dll/keyboard/kbdth3/kbdth3.c trunk/reactos/dll/keyboard/kbdtuf/kbdtuf.c trunk/reactos/dll/keyboard/kbdtuq/kbdtuq.c trunk/reactos/dll/keyboard/kbduk/kbduk.c trunk/reactos/dll/keyboard/kbdur/kbdur.c trunk/reactos/dll/keyboard/kbdurs/kbdurs.c trunk/reactos/dll/keyboard/kbdus/kbdus.c trunk/reactos/dll/keyboard/kbdusa/kbdusa.c trunk/reactos/dll/keyboard/kbdusl/kbdusl.c trunk/reactos/dll/keyboard/kbdusr/kbdusr.c trunk/reactos/dll/keyboard/kbdusx/kbdusx.c trunk/reactos/dll/keyboard/kbduzb/kbduzb.c trunk/reactos/dll/keyboard/kbdvntc/kbdvntc.c trunk/reactos/dll/keyboard/kbdycc/kbdycc.c trunk/reactos/dll/keyboard/kbdycl/kbdycl.c trunk/reactos/subsystems/win32/win32k/include/input.h trunk/reactos/subsystems/win32/win32k/include/msgqueue.h trunk/reactos/subsystems/win32/win32k/ntuser/input.c trunk/reactos/subsystems/win32/win32k/ntuser/kbdlayout.c trunk/reactos/subsystems/win32/win32k/ntuser/keyboard.c trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c
[This mail would be too long, it was shortened to contain the URLs only.]
Modified: trunk/reactos/dll/keyboard/kbda1/kbda1.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbda1/kbda1.c?...
Modified: trunk/reactos/dll/keyboard/kbda2/kbda2.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbda2/kbda2.c?...
Modified: trunk/reactos/dll/keyboard/kbda3/kbda3.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbda3/kbda3.c?...
Modified: trunk/reactos/dll/keyboard/kbdal/kbdal.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdal/kbdal.c?...
Modified: trunk/reactos/dll/keyboard/kbdarme/kbdarme.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdarme/kbdarm...
Modified: trunk/reactos/dll/keyboard/kbdarmw/kbdarmw.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdarmw/kbdarm...
Modified: trunk/reactos/dll/keyboard/kbdaze/kbdaze.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdaze/kbdaze....
Modified: trunk/reactos/dll/keyboard/kbdazel/kbdazel.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdazel/kbdaze...
Modified: trunk/reactos/dll/keyboard/kbdbe/kbdbe.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdbe/kbdbe.c?...
Modified: trunk/reactos/dll/keyboard/kbdbga/kbdbga.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdbga/kbdbga....
Modified: trunk/reactos/dll/keyboard/kbdbgm/kbdbgm.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdbgm/kbdbgm....
Modified: trunk/reactos/dll/keyboard/kbdbgt/kbdbgt.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdbgt/kbdbgt....
Modified: trunk/reactos/dll/keyboard/kbdblr/kbdblr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdblr/kbdblr....
Modified: trunk/reactos/dll/keyboard/kbdbr/kbdbr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdbr/kbdbr.c?...
Modified: trunk/reactos/dll/keyboard/kbdbur/kbdbur.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdbur/kbdbur....
Modified: trunk/reactos/dll/keyboard/kbdcan/kbdcan.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdcan/kbdcan....
Modified: trunk/reactos/dll/keyboard/kbdcr/kbdcr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdcr/kbdcr.c?...
Modified: trunk/reactos/dll/keyboard/kbdcz/kbdcz.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdcz/kbdcz.c?...
Modified: trunk/reactos/dll/keyboard/kbdcz1/kbdcz1.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdcz1/kbdcz1....
Modified: trunk/reactos/dll/keyboard/kbdda/kbdda.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdda/kbdda.c?...
Modified: trunk/reactos/dll/keyboard/kbddv/kbddv.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbddv/kbddv.c?...
Modified: trunk/reactos/dll/keyboard/kbdes/kbdes.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdes/kbdes.c?...
Modified: trunk/reactos/dll/keyboard/kbdest/kbdest.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdest/kbdest....
Modified: trunk/reactos/dll/keyboard/kbdfc/kbdfc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdfc/kbdfc.c?...
Modified: trunk/reactos/dll/keyboard/kbdfi/kbdfi.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdfi/kbdfi.c?...
Modified: trunk/reactos/dll/keyboard/kbdfr/kbdfr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdfr/kbdfr.c?...
Modified: trunk/reactos/dll/keyboard/kbdgeo/kbdgeo.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdgeo/kbdgeo....
Modified: trunk/reactos/dll/keyboard/kbdgerg/kbdgerg.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdgerg/kbdger...
Modified: trunk/reactos/dll/keyboard/kbdgneo/kbdgneo.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdgneo/kbdgne...
Modified: trunk/reactos/dll/keyboard/kbdgr/kbdgr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdgr/kbdgr.c?...
Modified: trunk/reactos/dll/keyboard/kbdgrist/kbdgrist.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdgrist/kbdgr...
Modified: trunk/reactos/dll/keyboard/kbdhe/kbdhe.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdhe/kbdhe.c?...
Modified: trunk/reactos/dll/keyboard/kbdheb/kbdheb.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdheb/kbdheb....
Modified: trunk/reactos/dll/keyboard/kbdhu/kbdhu.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdhu/kbdhu.c?...
Modified: trunk/reactos/dll/keyboard/kbdic/kbdic.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdic/kbdic.c?...
Modified: trunk/reactos/dll/keyboard/kbdinasa/kbdinasa.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdinasa/kbdin...
Modified: trunk/reactos/dll/keyboard/kbdinben/kbdinben.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdinben/kbdin...
Modified: trunk/reactos/dll/keyboard/kbdindev/kbdindev.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdindev/kbdin...
Modified: trunk/reactos/dll/keyboard/kbdinguj/kbdinguj.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdinguj/kbdin...
Modified: trunk/reactos/dll/keyboard/kbdinmal/kbdinmal.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdinmal/kbdin...
Modified: trunk/reactos/dll/keyboard/kbdir/kbdir.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdir/kbdir.c?...
Modified: trunk/reactos/dll/keyboard/kbdit/kbdit.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdit/kbdit.c?...
Modified: trunk/reactos/dll/keyboard/kbdja/kbdja.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdja/kbdja.c?...
Modified: trunk/reactos/dll/keyboard/kbdkaz/kbdkaz.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdkaz/kbdkaz....
Modified: trunk/reactos/dll/keyboard/kbdko/kbdko.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdko/kbdko.c?...
Modified: trunk/reactos/dll/keyboard/kbdla/kbdla.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdla/kbdla.c?...
Modified: trunk/reactos/dll/keyboard/kbdlt1/kbdlt1.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdlt1/kbdlt1....
Modified: trunk/reactos/dll/keyboard/kbdlv/kbdlv.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdlv/kbdlv.c?...
Modified: trunk/reactos/dll/keyboard/kbdmac/kbdmac.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdmac/kbdmac....
Modified: trunk/reactos/dll/keyboard/kbdne/kbdne.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdne/kbdne.c?...
Modified: trunk/reactos/dll/keyboard/kbdno/kbdno.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdno/kbdno.c?...
Modified: trunk/reactos/dll/keyboard/kbdpl1/kbdpl1.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdpl1/kbdpl1....
Modified: trunk/reactos/dll/keyboard/kbdpo/kbdpo.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdpo/kbdpo.c?...
Modified: trunk/reactos/dll/keyboard/kbdro/kbdro.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdro/kbdro.c?...
Modified: trunk/reactos/dll/keyboard/kbdru/kbdru.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdru/kbdru.c?...
Modified: trunk/reactos/dll/keyboard/kbdru1/kbdru1.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdru1/kbdru1....
Modified: trunk/reactos/dll/keyboard/kbdsg/kbdsg.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdsg/kbdsg.c?...
Modified: trunk/reactos/dll/keyboard/kbdsk/kbdsk.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdsk/kbdsk.c?...
Modified: trunk/reactos/dll/keyboard/kbdsk1/kbdsk1.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdsk1/kbdsk1....
Modified: trunk/reactos/dll/keyboard/kbdsw/kbdsw.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdsw/kbdsw.c?...
Modified: trunk/reactos/dll/keyboard/kbdtat/kbdtat.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdtat/kbdtat....
Modified: trunk/reactos/dll/keyboard/kbdth0/kbdth0.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdth0/kbdth0....
Modified: trunk/reactos/dll/keyboard/kbdth1/kbdth1.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdth1/kbdth1....
Modified: trunk/reactos/dll/keyboard/kbdth2/kbdth2.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdth2/kbdth2....
Modified: trunk/reactos/dll/keyboard/kbdth3/kbdth3.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdth3/kbdth3....
Modified: trunk/reactos/dll/keyboard/kbdtuf/kbdtuf.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdtuf/kbdtuf....
Modified: trunk/reactos/dll/keyboard/kbdtuq/kbdtuq.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdtuq/kbdtuq....
Modified: trunk/reactos/dll/keyboard/kbduk/kbduk.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbduk/kbduk.c?...
Modified: trunk/reactos/dll/keyboard/kbdur/kbdur.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdur/kbdur.c?...
Modified: trunk/reactos/dll/keyboard/kbdurs/kbdurs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdurs/kbdurs....
Modified: trunk/reactos/dll/keyboard/kbdus/kbdus.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdus/kbdus.c?...
Modified: trunk/reactos/dll/keyboard/kbdusa/kbdusa.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdusa/kbdusa....
Modified: trunk/reactos/dll/keyboard/kbdusl/kbdusl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdusl/kbdusl....
Modified: trunk/reactos/dll/keyboard/kbdusr/kbdusr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdusr/kbdusr....
Modified: trunk/reactos/dll/keyboard/kbdusx/kbdusx.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdusx/kbdusx....
Modified: trunk/reactos/dll/keyboard/kbduzb/kbduzb.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbduzb/kbduzb....
Modified: trunk/reactos/dll/keyboard/kbdvntc/kbdvntc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdvntc/kbdvnt...
Modified: trunk/reactos/dll/keyboard/kbdycc/kbdycc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdycc/kbdycc....
Modified: trunk/reactos/dll/keyboard/kbdycl/kbdycl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/keyboard/kbdycl/kbdycl....
Copied: trunk/reactos/include/ndk/kbd.h (from r53930, trunk/reactos/ntoskrnl/include/internal/kbd.h) URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/kbd.h?p2=trunk/...
Removed: trunk/reactos/ntoskrnl/include/internal/kbd.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/k...
Modified: trunk/reactos/subsystems/win32/win32k/include/input.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc...
Modified: trunk/reactos/subsystems/win32/win32k/include/msgqueue.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc...
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/input.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu...
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/kbdlayout.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu...
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/keyboard.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu...
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu...