【问题标题】:Converting between different keycodes在不同的键码之间转换
【发布时间】:2014-10-29 11:07:31
【问题描述】:

我目前正在开发一个小游戏。在你开始游戏之前,我有一个 JFrame,你可以在其中设置你的控制器。为此,我使用 java 内置的 keylistener 并且效果很好。 当我开始游戏并且您所做的设置不起作用时,就会出现问题。

游戏使用 lwjgl api 和 slick2d api 并且当我检查按钮按下时的键码与 keylistener 中内置的键码不同。

http://slick.ninjacave.com/javadoc/constant-values.html#org.newdawn.slick.Input.KEY_DOWN

slick 使用的键码列表。如您所见,它与此列表不同

http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

有没有办法在这两者之间转换?

我尝试添加一个常量,但您可能会看到它不起作用。

感谢每一个回答:)

【问题讨论】:

  • 这些是 Javascript 密钥代码。与Java无关。 Java 事件键代码常量封装在类KeyEvent 中。
  • 好的,谢谢你的回答。
  • 您仍然有同样的问题,在可能不同的代码之间进行转换。我只是指出您正在查看 Java 代码的错误列表。
  • @Radiodef:你确定你的建议吗?我知道你说的对 Swing 来说是正确的,但是 Slick2D 和 LWJGL 不是使用不同的机制来捕获击键,一种不涉及 KeyEvents 的机制吗?我问是出于真正的无知,因为我不知道。
  • @user2970531 请注意,这里最好的解决方案是不要混合 GUI 工具包。不幸的是,我不知道 Slick2D 能够告诉您是否可以使用它来执行类似于您使用 JFrame 所做的事情(弹出一个窗口以获取关键输入)。

标签: java converter lwjgl keycode


【解决方案1】:

我现在做了一个小解决方案。非常简单也许不是最有效的,但它确实有效。不过花了一些时间

我制作了一个用于转换的小清单。可能是一些错误,但它们很容易修复。

backspace               8       14
space           32      57
tab             9       15
enter           13      28
enter2          10      28
shift           16      42
ctrl            17      29
alt             18      56
pause           19      197
caps            20      58
escape          27      1
pgup            33      201
pgdo            34      209
end             35      207
home            36      199
left            37      203
up          38      200
right           39      205
down            40      208
insert2         155     210
delete          127     211
0           48      11
1           49      2
2           50      3
3           51      4
4           5       5
5           53      6
6           54      7
7           55      8
8           56      9
9           57      10
A           65      30
B           66      48
C           67      46
D           68      32
E           69      18
F           70      33
G           71      34
H           72      35
I           73      23
J           74      36
K           75      37
L           76      38
M           77      50
N           78      49
O           79      24
P           80      25
Q           81      16
R           82      19
S           83      31
T           84      20
U           85      22
V           86      47
W           87      17
X           88      45
Y           89      21
Z           90      44
Å           16777413    27
Ä           16777412    40
Ö           16777430    41
LWK             91      219
RWK             92      220
WINDOWS         524     219
SELECT          93      221
NUMPAD0         96      82
NUMPAD1         97      79
NUMPAD2         98      80
NUMPAD3         99      81
NUMPAD4         100     75
NUMPAD5         101     76
NUMPAD6         102     77
NUMPAD7         103     71
NUMPAD8         104     72
NUMPAD9         105     73
MULTIPLY        106     55
ADD             107     78
SUBTRACT        109     74
DECIMAL         110     83
DIVIDE          111     181
F1          112     59
F2          113     60
F3          114     61
F4          115     62
F5          116     63
F6          117     64
F7          118     65
F8          119     66
F9          120     67
F10             121     68
F11             122     87
F12             123     88
F13         124     100
F14         125     101
F15         126     102
NUMLOCK         144     69
SCROLLOCK2      145     70
SEMICOLON       186     39
EQUALSIGN       187     13
COMMA           188     51
COMMA2          44      51
DASH            189     12
PERIOD          190     52
PERIOD2         46      52
FORWARDSLASH        191     53
GRAVE           192     41
OPENBRACKET         219     26
BACKSLASH       220     43
CLOSEBRAKET         221     27
SINGLEQUOTE         222     40
§           16777383    43
LESS            153     -1
DEADACUTE       129     -1
PLUS            521     13
MINUS           45      12
DeadDiaeresis       135     144

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-29
    • 2014-08-29
    • 2019-04-14
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 2015-11-21
    相关资源
    最近更新 更多