/*
* Scriptographer
*
* This file is part of Scriptographer, a Scripting Plugin for Adobe Illustrator
* http://scriptographer.org/
*
* Copyright (c) 2002-2010, Juerg Lehni
* http://scratchdisk.com/
*
* All rights reserved. See LICENSE file for details.
*
* File created on Aug 17, 2009.
*/
package com.scriptographer.ui;
import com.scratchdisk.util.IntegerEnum;
import com.scriptographer.ScriptographerEngine;
/**
* @author lehni
*
*/
/*
* TODO Merge with Tracker constants and onKeyDown handling?
*/
public enum KeyIdentifier implements IntegerEnum {
/**
* Same as META on Mac and CONTROL on Windows
*/
COMMAND(ScriptographerEngine.isMacintosh() ? 157 : 17),
ENTER('\n'),
RETURN('\r'),
BACKSPACE('\b'),
TAB('\t'),
CANCEL(3),
CLEAR(12),
SHIFT(16),
CONTROL(17),
/**
* @deprecated in favour of OPTION
*/
ALT(18),
OPTION(18),
PAUSE(19),
CAPS_LOCK(20),
ESCAPE(27),
SPACE(' '),
PAGE_UP(33),
PAGE_DOWN(34),
END(35),
HOME(36),
LEFT(37),
UP(38),
RIGHT(39),
DOWN(40),
COMMA(','),
MINUS('-'),
PERIOD('.'),
SLASH('/'),
// Shame we can't just used numbers as names
// TODO: Have the Rhino layer translate them
NUM_0('0'),
NUM_1('1'),
NUM_2('2'),
NUM_3('3'),
NUM_4('4'),
NUM_5('5'),
NUM_6('6'),
NUM_7('7'),
NUM_8('8'),
NUM_9('9'),
SEMICOLON(';'),
EQUALS('='),
A('A'),
B('B'),
C('C'),
D('D'),
E('E'),
F('F'),
G('G'),
H('H'),
I('I'),
J('J'),
K('K'),
L('L'),
M('M'),
N('N'),
O('O'),
P('P'),
Q('Q'),
R('R'),
S('S'),
T('T'),
U('U'),
V('V'),
W('W'),
X('X'),
Y('Y'),
Z('Z'),
OPEN_BRACKET('['),
CLOSE_BRACKET(']'),
BACKSLASH('\\'),
NUMPAD_0(96),
NUMPAD_1(97),
NUMPAD_2(98),
NUMPAD_3(99),
NUMPAD_4(100),
NUMPAD_5(101),
NUMPAD_6(102),
NUMPAD_7(103),
NUMPAD_8(104),
NUMPAD_9(105),
MULTIPLY(106),
ADD(107),
SEPARATOR(108),
SUBTRACT(109),
DECIMAL(110),
DIVIDE(111),
DELETE(127),
NUM_LOCK(144),
SCROLL_LOCK(145),
F1(112),
F2(113),
F3(114),
F4(115),
F5(116),
F6(117),
F7(118),
F8(119),
F9(120),
F10(121),
F11(122),
F12(123),
PRINT_SCREEN(154),
INSERT(155),
HELP(156),
META(157),
BACK_QUOTE(192),
QUOTE(222),
KP_UP(224),
KP_DOWN(225),
KP_LEFT(226),
KP_RIGHT(227),
DEAD_GRAVE(128),
DEAD_ACUTE(129),
DEAD_CIRCUMFLEX(130),
DEAD_TILDE(131),
DEAD_MACRON(132),
DEAD_BREVE(133),
DEAD_ABOVE_DOT(134),
DEAD_DIAERESIS(135),
DEAD_ABOVE_RING(136),
DEAD_DOUBLE_ACUTE(137),
DEAD_CARON(138),
DEAD_CEDILLA(139),
DEAD_OGONEK(140),
DEAD_IOTA(141),
DEAD_VOICED_SOUND(142),
DEAD_SEMIVOICED_SOUND(143),
AMPERSAND(150),
ASTERISK(151),
QUOTEDBL(152),
LESS(153),
GREATER(160),
BRACE_LEFT(161),
BRACE_RIGHT(162),
FINAL(24),
CONVERT(28),
NON_CONVERT(29),
ACCEPT(30),
MODE_CHANGE(31),
KANA(21),
KANJI(25),
ALPHANUMERIC(240),
KATAKANA(241),
HIRAGANA(242),
FULL_WIDTH(243),
HALF_WIDTH(244),
ROMAN_CHARACTERS(245);
protected int code;
private KeyIdentifier(int code) {
this.code = code;
}
public int value() {
return code;
}
}