导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    【FAQ】全志V853芯片 如何解决getevent运行出错,报错为“could not add watch for /dev/input”的问题?

    其它全志芯片讨论区
    v853 faq 技术支持
    1
    1
    1382
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • q1215200171
      budbool LV 9 最后由 q1215200171 编辑

      一、问题背景

      如果系统已经注册了input设备,想要使用getevent命令去获取input事件时,发现getevent运行会报错,不能正常运行。

      报错信息为:could not add watch for /dev/input, Function not implemented

      如下图所示:

      6e6c9fc2f9634f57a869062ed47e3f06.jfif

      二、问题分析

      通过小机端目录/dev/input/下,发现是有event*的,证明是已经注册有input设备了,有input设备getevent就可以正常运行。

      通过getevent源码得知,"could not add watch"的错误是由于运行函数inotify_add_watch(),获取不到所对应的inotify的watch而产生的。

      ab1eecf8885c4e918ff36c1fcc614a08.jfif

      inotify是一个内核用于通知用户空间程序文件系统变化的机制,现在获取不到inotify可以判断为内核空间没有给到用户空间权限或者是接口。

      内核空间是有对应的配置使能用户空间的接口的,选上该配置,即可解决问题。

      3776606cab8d41df900dffe6b6be8351.jfif

      PS:另外,使用cat /dev/input/event* | hexdump -C 也可以获取input事件。

      1 条回复 最后回复 回复 引用 分享 3
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策