2015-02-24 114 views
0

我的老师给了我一个挑战: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

+0

显示我们的代码。 – 2015-02-24 16:48:45

+0

试试这个:按下Alt,点击1,点击9.点击4,释放ALT。所有数字都必须在数字键盘上按下。 – talex 2015-02-24 16:51:00

+1

┬嗨,我是符号 – 2015-02-24 16:53:26

回答

0

Java是UTF-8这样的ASCII码194 131是UTF-8微型标志(时髦的u),194 130是尖锐的重音,194 135是大写字母c和cedilla。

来源: http://www.utf8-chartable.de/

键入微符号 Alt键0181 Alt键230

+0

会放弃它,希望这一个会是它 – KiralyCraft 2015-02-25 05:05:08

+0

知道它以某种方式,通过改变键盘布局!哈哈,那很棘手!感谢指导我进入UTF-8,这给了我这个想法 – KiralyCraft 2015-02-25 19:45:47