keyinput.java
来自「java 3d game jme 工程开发源代码」· Java 代码 · 共 773 行 · 第 1/2 页
JAVA
773 行
/*
* Copyright (c) 2003-2009 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name of 'jMonkeyEngine' nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package com.jme.input;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.List;
import com.jme.input.lwjgl.LWJGLKeyInput;
/**
* <code>KeyInput</code> provides an interface for dealing with keyboard input.
* There are public contstants for each key of the keyboard, which correspond
* to the LWJGL key bindings. This may require conversion by other subclasses
* for specific APIs. <br>
* The status of spcific keys can be queried via the {@link #isKeyDown}
* method. For each key that is pressed or released an event is generated which
* can be received by a {@link KeyInputListener}, these are subsribed via
* {@link #addListener(KeyInputListener)}. Handling of events is done inside the
* {@link #update} method.
*
* @author Mark Powell
* @version $Id: KeyInput.java,v 1.24 2007/03/06 15:08:50 nca Exp $
*/
public abstract class KeyInput extends Input {
/**
* escape key.
*/
public static final int KEY_ESCAPE = 0x01;
/**
* 1 key.
*/
public static final int KEY_1 = 0x02;
/**
* 2 key.
*/
public static final int KEY_2 = 0x03;
/**
* 3 key.
*/
public static final int KEY_3 = 0x04;
/**
* 4 key.
*/
public static final int KEY_4 = 0x05;
/**
* 5 key.
*/
public static final int KEY_5 = 0x06;
/**
* 6 key.
*/
public static final int KEY_6 = 0x07;
/**
* 7 key.
*/
public static final int KEY_7 = 0x08;
/**
* 8 key.
*/
public static final int KEY_8 = 0x09;
/**
* 9 key.
*/
public static final int KEY_9 = 0x0A;
/**
* 0 key.
*/
public static final int KEY_0 = 0x0B;
/**
* - key.
*/
public static final int KEY_MINUS = 0x0C;
/**
* = key.
*/
public static final int KEY_EQUALS = 0x0D;
/**
* back key.
*/
public static final int KEY_BACK = 0x0E;
/**
* tab key.
*/
public static final int KEY_TAB = 0x0F;
/**
* q key.
*/
public static final int KEY_Q = 0x10;
/**
* w key.
*/
public static final int KEY_W = 0x11;
/**
* e key.
*/
public static final int KEY_E = 0x12;
/**
* r key.
*/
public static final int KEY_R = 0x13;
/**
* t key.
*/
public static final int KEY_T = 0x14;
/**
* y key.
*/
public static final int KEY_Y = 0x15;
/**
* u key.
*/
public static final int KEY_U = 0x16;
/**
* i key.
*/
public static final int KEY_I = 0x17;
/**
* o key.
*/
public static final int KEY_O = 0x18;
/**
* p key.
*/
public static final int KEY_P = 0x19;
/**
* [ key.
*/
public static final int KEY_LBRACKET = 0x1A;
/**
* ] key.
*/
public static final int KEY_RBRACKET = 0x1B;
/**
* enter (main keyboard) key.
*/
public static final int KEY_RETURN = 0x1C;
/**
* left control key.
*/
public static final int KEY_LCONTROL = 0x1D;
/**
* a key.
*/
public static final int KEY_A = 0x1E;
/**
* s key.
*/
public static final int KEY_S = 0x1F;
/**
* d key.
*/
public static final int KEY_D = 0x20;
/**
* f key.
*/
public static final int KEY_F = 0x21;
/**
* g key.
*/
public static final int KEY_G = 0x22;
/**
* h key.
*/
public static final int KEY_H = 0x23;
/**
* j key.
*/
public static final int KEY_J = 0x24;
/**
* k key.
*/
public static final int KEY_K = 0x25;
/**
* l key.
*/
public static final int KEY_L = 0x26;
/**
* ; key.
*/
public static final int KEY_SEMICOLON = 0x27;
/**
* ' key.
*/
public static final int KEY_APOSTROPHE = 0x28;
/**
* ` key.
*/
public static final int KEY_GRAVE = 0x29;
/**
* left shift key.
*/
public static final int KEY_LSHIFT = 0x2A;
/**
* \ key.
*/
public static final int KEY_BACKSLASH = 0x2B;
/**
* z key.
*/
public static final int KEY_Z = 0x2C;
/**
* x key.
*/
public static final int KEY_X = 0x2D;
/**
* c key.
*/
public static final int KEY_C = 0x2E;
/**
* v key.
*/
public static final int KEY_V = 0x2F;
/**
* b key.
*/
public static final int KEY_B = 0x30;
/**
* n key.
*/
public static final int KEY_N = 0x31;
/**
* m key.
*/
public static final int KEY_M = 0x32;
/**
* , key.
*/
public static final int KEY_COMMA = 0x33;
/**
* . key (main keyboard).
*/
public static final int KEY_PERIOD = 0x34;
/**
* / key (main keyboard).
*/
public static final int KEY_SLASH = 0x35;
/**
* right shift key.
*/
public static final int KEY_RSHIFT = 0x36;
/**
* * key (on keypad).
*/
public static final int KEY_MULTIPLY = 0x37;
/**
* left alt key.
*/
public static final int KEY_LMENU = 0x38;
/**
* space key.
*/
public static final int KEY_SPACE = 0x39;
/**
* caps lock key.
*/
public static final int KEY_CAPITAL = 0x3A;
/**
* F1 key.
*/
public static final int KEY_F1 = 0x3B;
/**
* F2 key.
*/
public static final int KEY_F2 = 0x3C;
/**
* F3 key.
*/
public static final int KEY_F3 = 0x3D;
/**
* F4 key.
*/
public static final int KEY_F4 = 0x3E;
/**
* F5 key.
*/
public static final int KEY_F5 = 0x3F;
/**
* F6 key.
*/
public static final int KEY_F6 = 0x40;
/**
* F7 key.
*/
public static final int KEY_F7 = 0x41;
/**
* F8 key.
*/
public static final int KEY_F8 = 0x42;
/**
* F9 key.
*/
public static final int KEY_F9 = 0x43;
/**
* F10 key.
*/
public static final int KEY_F10 = 0x44;
/**
* NumLK key.
*/
public static final int KEY_NUMLOCK = 0x45;
/**
* Scroll lock key.
*/
public static final int KEY_SCROLL = 0x46;
/**
* 7 key (num pad).
*/
public static final int KEY_NUMPAD7 = 0x47;
/**
* 8 key (num pad).
*/
public static final int KEY_NUMPAD8 = 0x48;
/**
* 9 key (num pad).
*/
public static final int KEY_NUMPAD9 = 0x49;
/**
* - key (num pad).
*/
public static final int KEY_SUBTRACT = 0x4A;
/**
* 4 key (num pad).
*/
public static final int KEY_NUMPAD4 = 0x4B;
/**
* 5 key (num pad).
*/
public static final int KEY_NUMPAD5 = 0x4C;
/**
* 6 key (num pad).
*/
public static final int KEY_NUMPAD6 = 0x4D;
/**
* + key (num pad).
*/
public static final int KEY_ADD = 0x4E;
/**
* 1 key (num pad).
*/
public static final int KEY_NUMPAD1 = 0x4F;
/**
* 2 key (num pad).
*/
public static final int KEY_NUMPAD2 = 0x50;
/**
* 3 key (num pad).
*/
public static final int KEY_NUMPAD3 = 0x51;
/**
* 0 key (num pad).
*/
public static final int KEY_NUMPAD0 = 0x52;
/**
* . key (num pad).
*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?