【问题标题】:HID Descriptor Dump on Android?Android上的HID描述符转储?
【发布时间】:2014-08-10 20:28:49
【问题描述】:

有人知道如何在 Android 上转储设备的 HID 描述符吗?我想获得几个 HID 描述符的解析转储并比较它们。干杯!

【问题讨论】:

    标签: android hid


    【解决方案1】:

    您将需要使用lsusb command。还有一个graphical version on GitHub

    【讨论】:

      【解决方案2】:

      如果您在 adb shell 中使用 'getevent -S' 命令,很容易列出所有输入设备,如下所示:

      I:\Users\linwei>adb shell getevent -S
      add device 1: /dev/input/event6
        name:     "gpio-keys"
      add device 2: /dev/input/event2
        name:     "alps"
      add device 3: /dev/input/event5
        name:     "7k_handset"
      add device 4: /dev/input/event4
        name:     "proximity_sensor"
      add device 5: /dev/input/event3
        name:     "accelerometer_sensor"
      add device 6: /dev/input/event1
        name:     "7x27a_kp"
      add device 7: /dev/input/event0
        name:     "sec_touchscreen"
      

      如果您想查看其中之一的详细信息。使用 'getevent -i $eventname' 显示如下:

      I:\Users\linwei>adb shell getevent -i /dev/input/event1
       add device 1: /dev/input/event1
       bus:      0000
       vendor    0000
       product   0000
       version   0000
       name:     "7x27a_kp"
       location: ""
       id:       ""
       version:  1.0.1
       events:
         KEY (0001): 0072  0073
       input props:
         <none> 
      

      因此,只需找到您隐藏的设备名称并打印可能的信息。 如果你想在 Android 上运行这些命令。可以使用 Runtime 来执行:

           th = new Thread(new Runnable(){
              private Process exec;
      
              @Override
              public void run() {
      
                  try {
                      exec = Runtime.getRuntime().exec(new String[]{"su","-c","getevent -i " + device});
                      InputStreamReader is = new InputStreamReader(
                              exec.getInputStream());
      
                      BufferedReader br = new BufferedReader(is);
                      String s;
                      while(((s = br.readLine()) != null) && run){
                          ...
                      }
                      is.close();
                      exec.destroy();
                  } catch (IOException e) {
                      e.printStackTrace();
                  } 
      
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-08
        • 1970-01-01
        • 2021-10-10
        • 2019-10-25
        • 1970-01-01
        • 1970-01-01
        • 2019-09-14
        • 2011-11-10
        相关资源
        最近更新 更多