/*
    Copyright (C) 2004 by Jorrit Tyberghein
	      (C) 2004 by Frank Richter

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/	

#ifndef __CS_WIN32KBD_IDENTSTRS_H__
#define __CS_WIN32KBD_IDENTSTRS_H__

#include "cstool/identstrings.h"

#if defined(VK_SLEEP)
#define CS_USE_RECENT_WIN32KBD_IDENTSTRS
#else
#undef CS_USE_RECENT_WIN32KBD_IDENTSTRS
#endif

CS_IDENT_STRING_LIST(Win32KeyMsgNames)
  CS_IDENT_STRING(WM_KEYDOWN)
  CS_IDENT_STRING(WM_KEYUP)
  CS_IDENT_STRING(WM_SYSKEYDOWN)
  CS_IDENT_STRING(WM_SYSKEYUP)
CS_IDENT_STRING_LIST_END(Win32KeyMsgNames)

CS_IDENT_STRING_LIST(Win32VKeyNames)
  CS_IDENT_STRING(VK_BACK)
  CS_IDENT_STRING(VK_TAB)
  CS_IDENT_STRING(VK_CLEAR)
  CS_IDENT_STRING(VK_RETURN)
  CS_IDENT_STRING(VK_SHIFT)
  CS_IDENT_STRING(VK_CONTROL)
  CS_IDENT_STRING(VK_MENU)
  CS_IDENT_STRING(VK_PAUSE)
  CS_IDENT_STRING(VK_CAPITAL)
  CS_IDENT_STRING(VK_KANA)
  CS_IDENT_STRING(VK_JUNJA)
  CS_IDENT_STRING(VK_FINAL)
  CS_IDENT_STRING(VK_HANJA)
  CS_IDENT_STRING(VK_ESCAPE)
  CS_IDENT_STRING(VK_CONVERT)
  CS_IDENT_STRING(VK_NONCONVERT)
  CS_IDENT_STRING(VK_ACCEPT)
  CS_IDENT_STRING(VK_MODECHANGE)
  CS_IDENT_STRING(VK_SPACE)
  CS_IDENT_STRING(VK_PRIOR)
  CS_IDENT_STRING(VK_NEXT)
  CS_IDENT_STRING(VK_END)
  CS_IDENT_STRING(VK_HOME)
  CS_IDENT_STRING(VK_LEFT)
  CS_IDENT_STRING(VK_UP)
  CS_IDENT_STRING(VK_RIGHT)
  CS_IDENT_STRING(VK_DOWN)
  CS_IDENT_STRING(VK_SELECT)
  CS_IDENT_STRING(VK_PRINT)
  CS_IDENT_STRING(VK_EXECUTE)
  CS_IDENT_STRING(VK_SNAPSHOT)
  CS_IDENT_STRING(VK_INSERT)
  CS_IDENT_STRING(VK_DELETE)
  CS_IDENT_STRING(VK_HELP)
  CS_IDENT_STRING(VK_LWIN)
  CS_IDENT_STRING(VK_RWIN)
  CS_IDENT_STRING(VK_APPS)
#ifdef CS_USE_RECENT_WIN32KBD_IDENTSTRS
  CS_IDENT_STRING(VK_SLEEP)
#endif
  CS_IDENT_STRING(VK_NUMPAD0)
  CS_IDENT_STRING(VK_NUMPAD1)
  CS_IDENT_STRING(VK_NUMPAD2)
  CS_IDENT_STRING(VK_NUMPAD3)
  CS_IDENT_STRING(VK_NUMPAD4)
  CS_IDENT_STRING(VK_NUMPAD5)
  CS_IDENT_STRING(VK_NUMPAD6)
  CS_IDENT_STRING(VK_NUMPAD7)
  CS_IDENT_STRING(VK_NUMPAD8)
  CS_IDENT_STRING(VK_NUMPAD9)
  CS_IDENT_STRING(VK_MULTIPLY)
  CS_IDENT_STRING(VK_ADD)
  CS_IDENT_STRING(VK_SEPARATOR)
  CS_IDENT_STRING(VK_SUBTRACT)
  CS_IDENT_STRING(VK_DECIMAL)
  CS_IDENT_STRING(VK_DIVIDE)
  CS_IDENT_STRING(VK_F1)
  CS_IDENT_STRING(VK_F2)
  CS_IDENT_STRING(VK_F3)
  CS_IDENT_STRING(VK_F4)
  CS_IDENT_STRING(VK_F5)
  CS_IDENT_STRING(VK_F6)
  CS_IDENT_STRING(VK_F7)
  CS_IDENT_STRING(VK_F8)
  CS_IDENT_STRING(VK_F9)
  CS_IDENT_STRING(VK_F10)
  CS_IDENT_STRING(VK_F11)
  CS_IDENT_STRING(VK_F12)
  CS_IDENT_STRING(VK_F13)
  CS_IDENT_STRING(VK_F14)
  CS_IDENT_STRING(VK_F15)
  CS_IDENT_STRING(VK_F16)
  CS_IDENT_STRING(VK_F17)
  CS_IDENT_STRING(VK_F18)
  CS_IDENT_STRING(VK_F19)
  CS_IDENT_STRING(VK_F20)
  CS_IDENT_STRING(VK_F21)
  CS_IDENT_STRING(VK_F22)
  CS_IDENT_STRING(VK_F23)
  CS_IDENT_STRING(VK_F24)
  CS_IDENT_STRING(VK_NUMLOCK)
  CS_IDENT_STRING(VK_SCROLL)
  CS_IDENT_STRING(VK_LSHIFT)
  CS_IDENT_STRING(VK_RSHIFT)
  CS_IDENT_STRING(VK_LCONTROL)
  CS_IDENT_STRING(VK_RCONTROL)
  CS_IDENT_STRING(VK_LMENU)
  CS_IDENT_STRING(VK_RMENU)
#ifdef CS_USE_RECENT_WIN32KBD_IDENTSTRS
  CS_IDENT_STRING(VK_OEM_1)
  CS_IDENT_STRING(VK_OEM_2)
  CS_IDENT_STRING(VK_OEM_3)
  CS_IDENT_STRING(VK_OEM_4)
  CS_IDENT_STRING(VK_OEM_5)
  CS_IDENT_STRING(VK_OEM_6)
  CS_IDENT_STRING(VK_OEM_7)
  CS_IDENT_STRING(VK_OEM_8)
#endif
  CS_IDENT_STRING(VK_PROCESSKEY)
  CS_IDENT_STRING(VK_ATTN)
  CS_IDENT_STRING(VK_CRSEL)
  CS_IDENT_STRING(VK_EXSEL)
  CS_IDENT_STRING(VK_EREOF)
  CS_IDENT_STRING(VK_PLAY)
  CS_IDENT_STRING(VK_ZOOM)
  CS_IDENT_STRING(VK_NONAME)
  CS_IDENT_STRING(VK_PA1)
  CS_IDENT_STRING(VK_OEM_CLEAR)
CS_IDENT_STRING_LIST_END(Win32VKeyNames)

#endif // __CS_WIN32KBD_IDENTSTRS_H__
