###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

# Modifier keys
ALT=Alt
COMMAND=Command
CTRL=Ctrl
SHIFT=Shift

# Special keys
ARROW_DOWN=Down
ARROW_LEFT=Left
ARROW_RIGHT=Right
ARROW_UP=Up
BREAK=Break
CAPS_LOCK=CapsLock
END=End
F1=F1
F10=F10
F11=F11
F12=F12
F2=F2
F3=F3
F4=F4
F5=F5
F6=F6
F7=F7
F8=F8
F9=F9
HOME=Home
INSERT=Insert
NUM_LOCK=NumLock
NUMPAD_0=Numpad_0
NUMPAD_1=Numpad_1
NUMPAD_2=Numpad_2
NUMPAD_3=Numpad_3
NUMPAD_4=Numpad_4
NUMPAD_5=Numpad_5
NUMPAD_6=Numpad_6
NUMPAD_7=Numpad_7
NUMPAD_8=Numpad_8
NUMPAD_9=Numpad_9
NUMPAD_ADD=Numpad_Add
NUMPAD_DECIMAL=Numpad_Decimal
NUMPAD_DIVIDE=Numpad_Divide
NUMPAD_ENTER=Numpad_Enter
NUMPAD_EQUAL=Numpad_Equal
NUMPAD_MULTIPLY=Numpad_Multiply
NUMPAD_SUBTRACT=Numpad_Subtract
PAGE_DOWN=PageDown
PAGE_UP=PageUp
PAUSE=Pause
PRINT_SCREEN=PrintScreen
SCROLL_LOCK=ScrollLock

# Character keys
BS=Backspace
CR=Enter
DEL=Delete
ESC=Esc
FF=FormFeed
LF=LineFeed
NUL=Null
SPACE=Space
TAB=Tab
VT=VerticalTab
