成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解析 Qt 如何支持矩陣鍵盤

移動開發
本文介紹的是Qt 如何支持矩陣鍵盤,矩陣鍵盤屬于自定義的鍵盤,按下之后并不能像標準ps2、usb鍵盤那樣對系統輸入標準按鍵,都是自己寫的按鍵處理函數。

Qt 如何支持矩陣鍵盤是本文介紹的內容,不多說,先來看內容的詳細介紹。前幾天想在fs2410開發板上做這件事情,然后移植一個Qt游戲,拿4x4矩陣鍵盤控制沒找到資料,但是有類似的論文,就郁悶了,這個問題也能寫成論文?后來搞定了覺得很簡單。

矩陣鍵盤屬于自定義的鍵盤,按下之后并不能像標準ps2、usb鍵盤那樣對系統輸入標準按鍵,都是自己寫的按鍵處理函數。

我們想要按下矩陣鍵盤,被Linux識別為數字、字母等,就像一個標準102鍵盤那樣(當然鍵沒有那么多)

就可以使用input子系統

如何編寫矩陣鍵盤的input子系統驅動,可以參考當前內核的/drivers/input/keyboard/gpio_keys.c

我給的代碼基于2.6.22.6 ,連BIT_MASK都沒有。

其實非常簡單了,定義一個全局static struct input_dev* vkeyboard_idev = NULL;

在初始化里

  1. //注冊input子系統  
  2.  
  3. vkeyboard_idev = input_allocate_device();  
  4. if(vkeyboard_idev == NULL)  
  5. {  
  6. printk(KERN_ERR "input_allocate_device error\n");  
  7.  
  8. }  
  9.  
  10. vkeyboard_idev->evbit[0] = BIT(EV_KEY);  
  11. bitmap_fill(vkeyboard_idev->keybit, KEY_MAX);  
  12. bitmap_fill(vkeyboard_idev->relbit, REL_MAX);  
  13. bitmap_fill(vkeyboard_idev->absbit, ABS_MAX);                 
  14. vkeyboard_idev->name = "vkeyboard";  
  15. vkeyboard_idev->phys = "vkeyboard/input0";  
  16. vkeyboard_idev->open = vkeyboard_input_dev_open;  
  17. vkeyboard_idev->close = vkeyboard_input_dev_close;  
  18. for(i = 0; i < KEY_MAX; i++)  
  19. {  
  20. input_set_capability(vkeyboard_idev, EV_KEY, i);  
  21. }  
  22. __set_bit(EV_KEY, vkeyboard_idev->evbit);  
  23. input_register_device(vkeyboard_idev); 

注銷

  1. input_unregister_device(vkeyboard_idev); 

當驅動判斷到按鍵按下時 (回車鍵為例)

  1. input_event(vkeyboard_idev, EV_KEY, KEY_ENTER,1);  
  2. input_sync (vkeyboard_idev); 

當驅動判斷到按鍵抬起

  1. input_event(vkeyboard_idev, EV_KEY, KEY_ENTER,0);  
  2. input_sync (vkeyboard_idev); 

然后是qt跟這個input設備的聯系了

我使用的是qt-embedded-4.5.2 ,

加載矩陣鍵盤后多了一個 /dev/event1

小結:Qt 如何支持矩陣鍵盤的內容介紹完了,希望本文對你會有所幫助吧,更多資料要或許,請參考編輯推薦。

所以指定環境變量

export set QWS_KEYBOARD=USB:/dev/event1 即可

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-30 13:49:00

Qt 鍵盤 聚焦

2011-09-06 16:00:08

QT平臺靜態庫

2011-07-05 14:06:17

編譯 Qt

2011-09-09 17:59:26

QT Widget

2011-07-01 15:04:49

Qt 內省

2011-06-29 15:14:22

Qt Embedded 鍵盤

2011-06-29 15:36:21

Qt Embedded 鍵盤

2011-06-22 10:27:32

QT 鍵盤 焦點

2011-06-08 15:27:24

QT QT 4.5 編譯

2011-06-09 15:18:07

QT 編譯

2011-06-23 15:32:05

Qt Windows消息

2011-08-25 16:38:06

EditPluslua

2011-06-27 09:15:21

QT Creator

2011-07-01 14:39:08

Qt Quick

2011-06-22 15:50:45

QT 線程

2011-06-09 09:12:12

QT symbian

2011-06-14 13:59:09

Qt Qt 4.7.3 MYsql

2011-06-29 15:02:25

Qt 模板庫

2011-08-30 16:08:24

Qt4.7Qt Quick

2011-09-06 10:36:10

QT平臺
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品成人一区二区 | 亚洲欧美国产毛片在线 | 国产精品99久久久精品免费观看 | 日本在线一区二区三区 | 亚洲iv一区二区三区 | 日韩av一区在线观看 | 免费一级片| 亚洲成人免费 | 日韩高清一区 | 国产一区二区精华 | 亚洲一区二区三区在线 | 久久久精品 | 五月婷婷激情网 | 国产成人精品在线 | 日韩在线成人 | 欧美jizzhd精品欧美巨大免费 | xxxxxx国产 | 国产成人精品一区二区三区四区 | 国产午夜精品一区二区三区四区 | 黄在线免费观看 | 久久www免费视频 | 夜夜骑综合 | 四虎首页| 久久国产欧美日韩精品 | 日韩欧美黄色 | 欧美日韩久久久 | 国产精品视频网址 | 亚洲一区二区三区 | 国产亚洲一区二区三区在线观看 | 国产重口老太伦 | 日韩成人 | av日韩一区 | 亚洲成人精品久久 | 国产精品久久久久久久岛一牛影视 | 免费电影av| 日韩精彩视频 | 久久电影一区 | 国产精品欧美一区喷水 | 在线观看视频一区 | 久久成人精品视频 | 亚洲 中文 欧美 日韩 在线观看 |