Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当退格=0x100时,Ascii或扫描码或某种键盘输入_C_Unix_Keyboard_Operating System_Xv6 - Fatal编程技术网

当退格=0x100时,Ascii或扫描码或某种键盘输入

当退格=0x100时,Ascii或扫描码或某种键盘输入,c,unix,keyboard,operating-system,xv6,C,Unix,Keyboard,Operating System,Xv6,我正在使用麻省理工学院的XV6开源操作系统 试图弄清楚地球上什么东西可以退格=0x100? 我想添加功能,如右箭头和左箭头来控制控制台,我找不到正确的数字来捕捉它们。 例: 那么我的Q在哪张表上,BACKSPACE=0x100?它不是ASCII码。。。在扫描代码中找不到它。 在Ubuntu上尝试了showkeys命令,但没有成功 任何有更多经验的人或碰巧参加过麻省理工学院操作系统课程的人:) 非常感谢 这是一个自定义字符表。0x100是control+H,使用“H”的定义和控制顺序:在控制台中签

我正在使用麻省理工学院的XV6开源操作系统

试图弄清楚地球上什么东西可以退格=0x100? 我想添加功能,如右箭头和左箭头来控制控制台,我找不到正确的数字来捕捉它们。 例:

那么我的Q在哪张表上,BACKSPACE=0x100?它不是ASCII码。。。在扫描代码中找不到它。 在Ubuntu上尝试了showkeys命令,但没有成功

任何有更多经验的人或碰巧参加过麻省理工学院操作系统课程的人:)


非常感谢

这是一个自定义字符表。0x100是control+H,使用“H”的定义和控制顺序:在控制台中签出\u intr()。可以在中找到表定义。正如您所发现的,左边是0xE4(右边是0xE5)。

这是一个自定义字符表。0x100是control+H,使用“H”的定义和控制顺序:在控制台中签出\u intr()。可以在中找到表定义。正如您所发现的,左边是0xE4(右边是0xE5)。

您是否尝试过捕获您感兴趣的键并输出您得到的代码?是的,我尝试过类似的方法,但我能得到的只是退格得到一个int为256的字符。。。无法匹配更多的键,因为我似乎打不到正确的键,如果每次单击都打印,XV6就不会运行(这与使用该函数的启动序列有关,我正在更改)Ok设法让它以228和229整数运行,仍然不知道原版使用的是什么表,但在我知道之前,我将使用这个int,并像这样将c转换为int:(int)c=228您使用什么函数来设置
c
?您是否尝试过捕获您感兴趣的键并输出您得到的代码?是的,我尝试过类似的方法,但我能得到的只是退格得到一个int为256的字符。。。无法匹配更多的键,因为我似乎打不到正确的键,如果每次单击都打印,XV6就不会运行(这与使用该函数的启动序列有关,我正在更改)Ok设法让它以228和229整数运行,仍然不知道原版使用的是什么表,但直到我知道之前,我将使用这个int并将c转换为int,就像这样:(int)c=228您使用什么函数来设置
c
?是的,这就是我要找的。谢谢。是的,这就是我要找的。谢谢
#define BACKSPACE 0x100 // given code
#define RIGHTARROW 0x99 //my addon 0x99 is not the right hex just an example   
if(c == RIGHTARROW){
     ....
    }