亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java開發系統內核:實現回車鍵的處理

2019-11-06 06:49:56
字體:
來源:轉載
供稿:網友

更詳細的講解和代碼調試演示過程,請參看視頻 linux kernel Hacker, 從零構建自己的內核

在為我們的系統開發應用程序前,還需要完成最后一點掃尾工作,那就是處理回車鍵。要啟動應用程序,一種常用辦法是,在命令行控制臺中,鍵入要運行的程序名字,點擊回車,然后系統把應用程序加載起來,因此,響應回車鍵按下消息是系統必不可少的功能。

本節代碼完成后,我們的系統運行效果如下:

這里寫圖片描述

當我們把輸入焦點轉移到控制臺,然后按下回車,控制臺會啟動新的一行,此時如果點擊字母按鈕,那么字母會出現在新起的一行,同時光標會在新啟的一行閃爍。

系統能夠響應回車鍵的話,我們就可以實現從控制臺啟動應用程序,我們先看看本節的實現代碼,主要實現都在write_vga_desktop.c中:

#define KEY_RETURN 0x1Cvoid console_task(struct SHEET *sheet) { struct TIMER *timer; struct TASK *task = task_now(); int i, fifobuf[128], cursor_x = 16, cursor_c = COL8_000000; int cursor_y = 28; .... for(;;) { .... else if (i == KEY_RETURN) { if (cursor_y < 28 + 112) { set_cursor(shtctl, sheet, cursor_x, cursor_y, COL8_000000); cursor_y += 16; cursor_x = 16; showString(shtctl, sheet, 8, cursor_y, COL8_FFFFFF, ">"); } } else if (i == 0x0e && cursor_x > 8) { set_cursor(shtctl, sheet, cursor_x, cursor_y, COL8_000000); cursor_x -= 8; set_cursor(shtctl, sheet, cursor_x, cursor_y, COL8_000000); } else { char c = transferScanCode(i); if (cursor_x < 240 && c!=0 ) { set_cursor(shtctl, sheet, cursor_x, cursor_y,COL8_000000); char s[2] = {c, 0}; showString(shtctl, sheet, cursor_x, cursor_y, COL8_FFFFFF, s); cursor_x += 8; } } if (cursor_c >= 0) { set_cursor(shtctl, sheet, cursor_x, cursor_y, cursor_c); } .... }}void set_cursor(struct SHTCTL *shtctl, struct SHEET *sheet, int cursor_x, int cursor_y ,int cursor_c) { boxfill8(sheet->buf, sheet->bxsize, cursor_c, cursor_x, cursor_y, cursor_x + 7, cursor_y + 15); sheet_refresh(shtctl, sheet, cursor_x, cursor_y, cursor_x+8, cursor_y + 46);}

我們對代碼做的改動有,先定義回車鍵掃描碼的數值0x1C, 當回車鍵按下后,主進程會把掃描碼發送給控制臺進程的主函數,在控制臺進程主函數中,一旦接受到回車鍵消息時,把cursor_y的值加上16,也就是一個字符的高度,cursor_y將作為新的顯示縱坐標,我們原來顯示字符時,縱坐標都是寫死的,為28,現在我們把縱坐標改為可變動的情況,一旦受到回車鍵,系統便知道需要在新的一行顯示信息,于是我們讓控制臺進程在窗口中另起一行,也就是將輸入坐標向下移動16個字符的距離,然后無論是字符還是光標,他們的顯示都在新坐標下進行。

set_cursor用來繪制光標,原先光標的縱坐標是定死為28的,現在我們把縱坐標當做一個參數來處理,每次窗口想要繪制光標時,需要把光標所在的縱坐標傳入。有了上面代碼后,我們每次在命令行窗口中點擊回車鍵時,命令行窗口會新起一行,字符和光標都會在新一行中顯示。

更詳細的代碼講解和調試請參看視頻。

更多技術信息,包括操作系統,編譯器,面試算法,機器學習,人工智能,請關照我的公眾號: 這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
北条麻妃久久精品| 色多多国产成人永久免费网站| 国产九九精品视频| 91热精品视频| 欧美激情国产高清| 国产日韩综合一区二区性色av| 欧美裸身视频免费观看| 国产精品第1页| 九九九热精品免费视频观看网站| 国产一区二区在线免费| 97碰碰碰免费色视频| 日韩在线视频二区| 亚洲欧洲第一视频| 狠狠躁天天躁日日躁欧美| 国产欧美日韩高清| 久久久久成人网| 在线视频欧美日韩| 亚洲国产欧美自拍| 久久久国产一区二区| 精品国产一区二区三区久久| 亚洲激情国产精品| 亚洲国产91精品在线观看| 亚洲精品二三区| 岛国av一区二区三区| 欧美乱大交xxxxx| 日本精品va在线观看| 日韩av电影在线播放| 久久久久久69| 亚洲精品久久久久久久久久久| 国产美女久久精品香蕉69| 欧美插天视频在线播放| 日韩在线观看精品| 久久久这里只有精品视频| 国产精品一区专区欧美日韩| 欧美大尺度在线观看| 欧洲亚洲女同hd| 姬川优奈aav一区二区| 久久99青青精品免费观看| 亚洲精品理论电影| 国产成人精品免费久久久久| 不卡在线观看电视剧完整版| 在线电影av不卡网址| 国产精品情侣自拍| 亚洲女人被黑人巨大进入al| 韩国欧美亚洲国产| 欧美中文字幕视频| 国产香蕉精品视频一区二区三区| 国产精品入口免费视| 精品久久久久久久久久久久久久| 亚洲影影院av| 久99九色视频在线观看| 在线观看欧美日韩国产| 精品国偷自产在线| 国产日韩一区在线| 欧美成aaa人片在线观看蜜臀| 亚洲韩国日本中文字幕| 日韩精品在线免费播放| 性欧美暴力猛交69hd| 欧美理论片在线观看| 91精品久久久久久久久久| 欧美成人精品一区二区三区| 亚洲一区亚洲二区| 91夜夜未满十八勿入爽爽影院| 久久综合亚洲社区| 欧美在线精品免播放器视频| 亚洲精品一区二区三区婷婷月| 久久成人亚洲精品| 国产一区二区三区在线看| 精品色蜜蜜精品视频在线观看| 亚洲高清色综合| 精品国产欧美一区二区三区成人| 亚洲精品乱码久久久久久按摩观| 日韩av成人在线观看| 亚洲精品xxxx| 日本aⅴ大伊香蕉精品视频| 国产精品亚洲网站| 日韩欧美亚洲综合| 国产日本欧美一区二区三区在线| 欧美精品videos另类日本| 亚洲无亚洲人成网站77777| 国产欧美va欧美va香蕉在| www.欧美精品| 日韩激情在线视频| 蜜臀久久99精品久久久无需会员| 2019中文在线观看| 国产盗摄xxxx视频xxx69| 亚洲精品黄网在线观看| 最新69国产成人精品视频免费| 国产精品一区二区电影| 不卡伊人av在线播放| 午夜剧场成人观在线视频免费观看| 日产精品久久久一区二区福利| 中文字幕亚洲欧美日韩高清| 欧美视频在线观看免费网址| 欧美成人免费全部观看天天性色| 91欧美激情另类亚洲| 亚洲国产精品小视频| 亚洲丁香婷深爱综合| 欧美大学生性色视频| 精品成人国产在线观看男人呻吟| 久久久久久久香蕉网| 4k岛国日韩精品**专区| 伊人久久男人天堂| 中文字幕一区二区三区电影| 91欧美精品成人综合在线观看| 欧美黑人一级爽快片淫片高清| 亚洲国产成人精品女人久久久| 粗暴蹂躏中文一区二区三区| 欧美电影免费播放| 亚洲成人av片在线观看| 国产成人av网| 日韩在线精品一区| 亚洲成色777777在线观看影院| 琪琪第一精品导航| 久久综合久中文字幕青草| 亚洲国产日韩欧美在线图片| 超碰精品一区二区三区乱码| 欧美激情一级精品国产| 亚洲最新av在线网站| 亚洲成人激情在线| 亚洲国产欧美一区二区三区久久| 日韩免费中文字幕| 国产日韩在线亚洲字幕中文| 日韩精品在线影院| 九九热这里只有精品6| 国产精品成av人在线视午夜片| 国产亚洲精品一区二区| 91高清视频免费| 亚洲另类xxxx| 日韩欧美精品网站| 九色精品免费永久在线| 亚洲香蕉成人av网站在线观看| 成人黄色短视频在线观看| 午夜精品在线视频| 亚洲综合一区二区不卡| 欧美专区第一页| 欧美日本啪啪无遮挡网站| 久久久亚洲成人| 国产美女主播一区| 精品国产91乱高清在线观看| 欧美中文字幕在线观看| 欧美在线观看网站| 国产精品视频久| 成人在线小视频| 日韩在线观看你懂的| 亚洲欧洲日产国码av系列天堂| 国产日韩欧美91| 日韩电影第一页| 精品国产91久久久久久| 欧美午夜激情在线| 92看片淫黄大片欧美看国产片| 91香蕉亚洲精品| 国色天香2019中文字幕在线观看| 国产视频精品免费播放| 国产精品久久久久久久久粉嫩av| 日韩电影中文 亚洲精品乱码| 亚洲国产精品999| 九九热精品在线| 在线观看国产精品淫| 亚洲天堂av在线免费| 国产视频欧美视频| 91综合免费在线| 久久国产色av| 国产精品久久久久久中文字|