上下左右 方向键的ASCII码值是多少?

2024-11-03 02:06:23
推荐回答(5个)
回答(1):

键盘上下左右 方向键的键码(keyCode)是38、40、37和39,或者称虚拟ASCII值是38、40、37和39。

下图是虚拟ASCII值:

keyCode(键码),指定与引发事件的键关联的Unicode的键码。此属性旨在与所述的onkeydown,的onkeyup和onkeypress事件的事件中使用。

句法:

object.keyCode[=keyCode]

设置:

这个读写属性可以设置为Unicode代码。如果没有击键造成的事件是零。

VB6.0可用以下代码测试:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Debug.Print KeyCode
End Sub

参考:http://baike.baidu.com/link?url=z9Q9IcvNHtfWAcNwsIGH1d5tfJPLBT8JFxhO2btWaxDNYTnXujcRhjWApwSsoNPuyFKP1nZuS2LREZy-otw_Gm64LFqTa1G__-CtMh64CxQ0l3NzI50QTsQcRv8PA7hYpTdGhyab6c-uZg1d2vWdGK

回答(2):

switch(getch()){
   case 224:                    //方向键区的ASCII码
     switch(getch()){
        case 72:
           //上
           break;
        case 80:
            //下 
            break;
        case 75:    
            //左
           break;
         case 77:
           //右
           break;   
     }       
}

回答(3):

在c语言里方向键的确定:
for(;;)
if(kbhit()) ;如果有键按下
{
str=getch();
printf("%C",str);
printf("%d"str);
}
就可以得到输入的什么东西了

回答(4):

switch(getch()){
case 224: //方向键区的ASCII码
switch(getch()){
case 72:
//上
break;
case 80:
//下
break;
case 75:
//左
break;
case 77:
//右
break;
}
}

回答(5):

linux下通过设置终端不回显(不用按回车即可输入),  my_getch()主要是对getchar需要按回车才显示进行的修改   来自github

if (my_getch() == 27)

{

    if (my_getch() == 91)

    {

        switch(my_getch())

        {

case 65 : return UP;

case 66 : return DOWN;

case 67 : return RIGHT;

case 68 : return LEFT;

default : break;

            }

        }

}


char my_getch()

{

        int c = 0;  

int res = 0;

        struct termios org_opts, new_opts;

        res = tcgetattr(STDIN_FILENO, &org_opts);

        assert(res == 0);

        memcpy(&new_opts, &org_opts, sizeof(new_opts));

        new_opts.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL | 

  ECHOPRT | ECHOKE | ICRNL);

        tcsetattr(STDIN_FILENO, TCSANOW, &new_opts);//设置终端属性

        c=getchar();

        res=tcsetattr(STDIN_FILENO, TCSANOW, &org_opts);//恢复终端属性

        assert(res == 0);

        return c;

}