ミニUSBキーボード/画面に出力

ミニUSBキーボード/画面に出力

私は2016 DP950ミニUSB数字キーパッドコンパクトキーボードを持っています。これは、2行×16文字のLCD画面とUSBコネクタを備えた数字キーパッドです。

Linux(またはWindowsまたはMac)で画面にメッセージを書き込めるようにしたいです。

キーボードが正しく動作します。デバイスを接続して期待どおりに文字を送信すると、デバイスがキーボードとして表示されます。

しかし、デバイスはUSBキーボードでしか表示されないので(USBシリアルデバイスであることを望んでいますが、そうではありません)、画面に書き込むのが難しいようです。

それが表示されたら、画面に「パスワード:」と表示され、キーを入力すると「*」と表示されます(キーが正しく送信されます)。パスワードが何であるか、どのように設定するのかわかりません。 USBシステムは一種のバーコードリーダーであると主張していますが、そうではありません。

クイックアイデア:/sys階層を見回しましたが、画面メッセージを作成できる項目が見つかりませんでした。

愚かな考え:Linux USBシステムがそれをUSBシリアルデバイスとして扱うように説得できますか?その可能性はほとんどなく、USBデバイスに関する私の知識は限られています。デバイス自体はどのようなドライバが必要かを知らせ、USBキーボードドライバはUSBシリアルドライバから100万マイル離れています。

オフトラックのアイデア:CTAPIを使用できますか?実際にはカードリーダーではありませんが、似たように見えました。 Chipcard CTAPI Perlスクリプトを使用しましたが、接続するデバイスが見つかりませんでした(USBポート番号を尋ねたようです。それは何ですか!?)。

複雑なアイデア:内部プロセッサとは何か、JTAGプログラミングが可能かどうかを学びます。ドキュメントが見つからないため、これは実現できないようです。

ハードウェアハッキング:画面内に16方向IDCコネクタがあります(どのタイプのものかわかりませんが)。何かを接続できる16x2 LCD画面と通信する共通の標準はありますか?

手がかりがある場合、関連する結果は次のとおりです。

猫/proc/バス/入力/デバイス

I: Bus=0003 Vendor=13ba Product=0018 Version=0110
N: Name="Barcode Reader "
P: Phys=usb-0000:00:1d.1-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input10
U: Uniq=
H: Handlers=kbd event9 
B: EV=120013
B: KEY=10000 7 ff800000 7ff febeffdf f3cfffff ffffffff fffffffe
B: MSC=10
B: LED=7

lsusb -v

Bus 003 Device 004: ID 13ba:0018 PCPlay Barcode PCP-BCG4209
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x13ba PCPlay
  idProduct          0x0018 Barcode PCP-BCG4209
  bcdDevice            0.01
  iManufacturer           0 
  iProduct                1 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              400mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      62
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               2

答え1

/dev/input/by-path/xxxxx-event-kbdこれにはHIDデバイスパスを使用しています。このパスは、デバイスリセットまたはデバイスシステムイベントの変更後に機能します。ただし、USBインターフェイスを124回リセットした後、システムにバスの問題が発生しました。だから毎日バスやシステムを再起動する必要があります。

関連情報