新路程 按鍵上報失敗

2021-08-09 03:48:18 字數 803 閱讀 9506

之前在init函式裡只配置了這個:

set_bit(ev_key, gpio_hyc->evbit);

set_bit(key_hyc1, gpio_hyc->keybit);

set_bit(key_hyc2, gpio_hyc->keybit)

結果發現input_report_key(gpio_hyc, key_hyc1, 1);

input_sync(gpio_hyc);失敗

這個input_sync(gpio_hyc)如果沒有,那麼input子系統不會去喚醒上報的執行緒,那個執行緒會一直等著wake;

追了一下發現卡在了

static void input_handle_event(struct input_dev *dev,unsigned int type, unsigned int code, int value)

case ev_key:

if (is_event_supported(code, dev->keybit, key_max) &&

!!test_bit(code, dev->key) != value)

disposition = input_pass_to_handlers; 也就是沒有跑到這導致後面沒有上報

}break;

於是猜了一下,由於dev->keybit配置了,dev->key沒有配置,於是在init裡加了兩句

set_bit(key_hyc1, gpio_hyc->key);

set_bit(key_hyc2, gpio_hyc->key);

於是搞定了,但是沒有搜到相關資料,只能說僥倖

swift3新路程(5) 和

var optionalstring string?hello swift 是說當前生命的變數是可能有值,也有可能為nil 可以規避例項為nil時,呼叫例項方法報錯的現象,instance?method 當instance是nil的時候因為instance是可選型別,所以語句會直接忽略後面的不在執行...

Python新路程(4)變數的型別

python 變數型別 變數儲存在記憶體中的值。這就意味著在建立變數時會在記憶體中開闢乙個空間。基於變數的資料型別,直譯器會分配指定記憶體,並決定什麼資料可以被儲存在記憶體中。因此,變數可以指定不同的資料型別,這些變數可以儲存整數,小數或字元。多個變數賦值 python允許你同時為多個變數賦值。例如...

Python新路程(10)MySQLdb支援

當我們需要使用mysqldb的時候可能會遇到很多問題 我的mac上安裝了homebrew,我就按照一般的安裝方式進行安裝 前提我的mac上已經安裝了mysql了 pip install mysql python 但是出問題了 python setup.py install 哎呀,還是提示 sh my...