--- /dev/null
+// Scintilla source code edit control\r
+/** @file KeyMap.h\r
+ ** Defines a mapping between keystrokes and commands.\r
+ **/\r
+// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\r
+// The License.txt file describes the conditions under which this software may be distributed.\r
+\r
+#ifndef KEYTOCOMMAND_H\r
+#define KEYTOCOMMAND_H\r
+\r
+#ifdef SCI_NAMESPACE\r
+namespace Scintilla {\r
+#endif\r
+\r
+#define SCI_NORM 0\r
+#define SCI_SHIFT SCMOD_SHIFT\r
+#define SCI_CTRL SCMOD_CTRL\r
+#define SCI_ALT SCMOD_ALT\r
+#define SCI_CSHIFT (SCI_CTRL | SCI_SHIFT)\r
+#define SCI_ASHIFT (SCI_ALT | SCI_SHIFT)\r
+\r
+/**\r
+ */\r
+class KeyToCommand {\r
+public:\r
+ int key;\r
+ int modifiers;\r
+ unsigned int msg;\r
+};\r
+\r
+/**\r
+ */\r
+class KeyMap {\r
+ KeyToCommand *kmap;\r
+ int len;\r
+ int alloc;\r
+ static const KeyToCommand MapDefault[];\r
+\r
+public:\r
+ KeyMap();\r
+ ~KeyMap();\r
+ void Clear();\r
+ void AssignCmdKey(int key, int modifiers, unsigned int msg);\r
+ unsigned int Find(int key, int modifiers); // 0 returned on failure\r
+};\r
+\r
+#ifdef SCI_NAMESPACE\r
+}\r
+#endif\r
+\r
+#endif\r