亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2110 | 回復(fù): 3
打印 上一主題 下一主題

在LINUX下使用C開(kāi)發(fā)程序怎么得到功能鍵的值 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2004-10-28 19:42 |只看該作者 |倒序?yàn)g覽
各位大蝦,請(qǐng)指教:
  我使用C開(kāi)發(fā)一個(gè)系統(tǒng),需要得到鍵盤(pán)的功能鍵,如F1,方向鍵等等.
  不要使用curses庫(kù),怎么實(shí)現(xiàn)啊,
  我是這么寫(xiě)的:

  int ch;
  ch = getchar();
  printf("%d\n",ch);

  如果我按方向鍵,同時(shí)打印出三個(gè)值,比如:RIGHT鍵,打印的結(jié)果是:
27 91 68 我知道最后的68是對(duì)的,但是我只想要最后面的值,
怎么處理,只是使用C和標(biāo)準(zhǔn)C庫(kù),怎么實(shí)現(xiàn)啊

下面是我完成的代碼: mygetch()類(lèi)似與DOS下TC中的getch()直接返回.

#include <stdio.h>;
#include <stdlib.h>;
#include <string.h>;
#include <termios.h>;

static struct termios originalTermPara;
static void set_keypress(void)
{
        struct termios currentTermPara;
        tcgetattr(0,&currentTermPara);
        memcpy(&originalTermPara,&currentTermPara,sizeof(struct termios));
        currentTermPara.c_lflag   &= ~(ICANON | ECHO | ISIG);               
        currentTermPara.c_cc[VTIME]=0;
        currentTermPara.c_cc[VMIN]=1;
        tcsetattr(0,TCSANOW,&currentTermPara);
        return;
}

void reset_keypress(void)
{
        tcsetattr(0,TCSANOW,&originalTermPara);
        return;
}

int mygetch()
{
        int ch;
        set_keypress();
        ch = getchar();
        reset_keypress();
        return ch;
}

int main()
{
        int ch;
        while (1)
        {
                ch = mygetch();
                if (ch=='q') break;
                printf("%c\n",ch);
        }
        return 0;
}

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2004-10-29 09:21 |只看該作者

在LINUX下使用C開(kāi)發(fā)程序怎么得到功能鍵的值

linux不是dos,27 91 68 就是right——^[[D。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2004-10-29 10:33 |只看該作者

在LINUX下使用C開(kāi)發(fā)程序怎么得到功能鍵的值

沒(méi)遇到過(guò)這個(gè)問(wèn)題,不懂,能詳細(xì)講講嗎?(關(guān)于鍵值編碼)

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2004-10-29 11:54 |只看該作者

在LINUX下使用C開(kāi)發(fā)程序怎么得到功能鍵的值

Unix的鍵值都是7位編碼的,功能鍵多使用Escape序列。
curses工具庫(kù)定義了一套不低于16位的鍵值表,可以將Escape序列翻譯成對(duì)應(yīng)的鍵值。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP