Saída para teclado / tela Mini USB

0

Tenho um teclado compacto numérico DP950 Mini USB numérico de 2016 - que é um teclado numérico com um ecrã LCD de 2 linhas por 16 caracteres e um conector USB.

O que eu gostaria de poder fazer é escrever mensagens na tela do Linux (ou mesmo do Windows ou do Mac).

O teclado funciona bem - o dispositivo aparece como um teclado quando você o conecta e envia caracteres como eu esperava.

Mas o dispositivo só aparece como um teclado USB (eu esperava que fosse um dispositivo serial USB - mas não), então escrever na tela parece ser mais complicado.

Quando aparece - a tela diz "PASSWORD:" e ecoa "*" quando você digita uma tecla (embora ela envie as chaves corretamente). Eu não vejo nenhuma pista sobre o que é a senha ou como configurá-la. O sistema USB afirma que é algum tipo de leitor de código de barras (o que não é).

Idéia rápida: examinei a hierarquia do / sys, mas não encontrei nada que parecesse um provável candidato para escrever mensagens na tela.

Idéia idiota: posso persuadir o sistema Linux USB a tratá-lo como um dispositivo serial USB? Isso parece muito improvável e meu conhecimento limitado de dispositivos USB é que o próprio dispositivo diz que tipo de driver requer e os drivers de teclado USB estão a milhões de milhas dos drivers seriais USB.

Idéia fora de pista: Posso usar o CTAPI? Não é realmente um leitor de cartões, mas parece um pouco com um. Eu brinquei com os scripts Chipcard CTAPI Perl, mas isso não conseguiu encontrar um dispositivo para conectar (parecia estar pedindo um número de porta USB - o que quer que isso seja!?).

Idéia complicada: encontre o processador interno e se eu posso programar o JTAG? Sem documentação que eu possa encontrar, isso não parece viável.

Hardware hack: Internamente, a tela tem um conector IDC de 16 vias (embora não haja pistas sobre o tipo de dispositivo). Existe um padrão comum usado para falar com telas LCD de 16x2 que eu poderia enganchar algo?

No caso de lançar alguma luz; aqui está uma saída relevante:

cat / proc / bus / input / devices

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
    
por Tarim 22.07.2016 / 20:35

1 resposta

0

Eu uso este dispositivo% HID% caminho%. Esse caminho funciona após a redefinição do dispositivo ou quando o evento sys do dispositivo é alterado. Mas, depois de interface usb redefine 124 vezes - sistema indo para o problema de barramento. Então devo reiniciar o ônibus ou o sistema todos os dias.

    
por 09.05.2017 / 18:06

Tags