audacia/src/commands/Keyboard.h

42 lines
942 B
C++

/**********************************************************************
Audacity: A Digital Audio Editor
Keyboard.h
Dominic Mazzoni
Brian Gunlogson
**********************************************************************/
#ifndef __AUDACITY_KEYBOARD__
#define __AUDACITY_KEYBOARD__
#include <audacity/Types.h>
#include <wx/defs.h>
class wxKeyEvent;
struct NormalizedKeyStringTag;
// Case insensitive comparisons
using NormalizedKeyStringBase = TaggedIdentifier<NormalizedKeyStringTag, false>;
struct AUDACITY_DLL_API NormalizedKeyString : NormalizedKeyStringBase
{
NormalizedKeyString() = default;
explicit NormalizedKeyString( const wxString &key );
wxString Display(bool usesSpecialChars = false) const;
};
namespace std
{
template<> struct hash< NormalizedKeyString >
: hash< NormalizedKeyStringBase > {};
}
AUDACITY_DLL_API
NormalizedKeyString KeyEventToKeyString(const wxKeyEvent & keyEvent);
#endif