在 Linux 驅動中如何判定 Capslock 等鍵盤狀態?

kenlo 2010-06-23 11:19:21
請問如何在 Linux 驅動程式中得知 Caps-lock, Num-lock 與 Scroll-lock 這幾個狀態值(開啟或關畢)呢?
...全文
125 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenlo 2010-06-24
  • 打赏
  • 举报
回复
SOC 是 Marvell PXA3xx 系列, 小鍵盤是使用 SOC 提供的 keypad matrix scan-line 的方式來抓取硬體上哪個按鍵被按下, 所以一切都要自己處理, 因此有必要知道 OS 中是由哪個 structure 來保留狀態, 但是目前只有看到那幾個鍵的 led 狀態控制, 跟我想像中的不太一樣, 所以目前還無法實現出複合鍵(FN key)功能, 但 caps-lock 的確是有效的, 因此系統必定有某個結構在保留各鍵狀態, 目前 trace 了 kernel 一些 header define 還是看不太出來.
曹大夯 2010-06-23
  • 打赏
  • 举报
回复
小键盘是什么接口的,是标准的HID设备么?
小键盘的驱动应该可以Query键值的状态的呀,只要有驱动的源码,知道驱动如何访问硬件就好了。
kenlo 2010-06-23
  • 打赏
  • 举报
回复
我現在做的板子有 custom 的小鍵盤, 需要 implement custom 的 fn key, 我在 WinCE 上的做法是利用 numlock 來實現 fn key, 利用 check numlock 的 status 把 scan-code mapping 到兩組 array 來回傳 key event, 所以我也想在 linux 上如法泡製, 現在卡住中.
曹大夯 2010-06-23
  • 打赏
  • 举报
回复
什么驱动需要知道键盘的这些键值的状态?
键盘驱动(Hidclass)应该是可以知道的。非键盘驱动就涉及到驱动间通讯,问题就比较复杂了。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧