Colin Finck a8253264f5 kbswitch:
- Revert some changes from r33106:
    * Set the size of szTempLCID back to CCH_LAYOUT_ID + 1, a layout ID mustn't be longer than this.
      As we pass the correct size to the Registry functions as well, there can be no buffer overflow.
      MAX_PATH was probably used here, because input.dll had a bug as well, so that it saved the layout ID with the wrong length.
    * Use wsprintf over _stprintf
    * Pass the correct value to dwBufLen (in bytes, not in TCHAR's!)
- Add back SystemParametersInfo, so that the system gets to know about the keyboard layout change.
  EnumWindows is still used for setting the new keyboard layout to all existing Windows.
- Don't show a different menu for left and right clicks, that's not how most popup menus work under Windows.
  Instead append all menu items from the menu template to the popup menu.
- Call SetForegroundWindow before and post a WM_NULL message after calling TrackPopupMenu, so that the popup menu will be closed, when the user clicks somewhere else
- Fix indentation

input.dll:
- Fix some incorrect lengths passed to other functions
- Get rid of some unneeded variables
- Always use the 32-bit Registry functions over the old 16-bit deprecated ones
- Fix some other stuff here and there

svn path=/trunk/; revision=33130
2008-04-24 17:57:48 +00:00
2008-03-08 11:08:52 +00:00
2008-04-24 17:57:48 +00:00
S
Description
A free Windows-compatible Operating System
528 MiB
Languages
C 86.9%
C++ 10.7%
Python 0.7%
Assembly 0.5%
CMake 0.5%
Other 0.4%