Usando xvkbd para ler um código de barras. Como desativar a tecla Enter?
-
12-09-2019 - |
Pergunta
Eu estou usando zbarcam para ler códigos de barras a partir de uma webcam em minhas webapps. Mas, uma vez exibição zbarcam a \ n no final, a minha forma é submeter-se.
Aqui está o que eu uso:
read_one.py
#!/usr/bin/python
from sys import argv
import zbar
import webbrowser
# create a Processor
proc = zbar.Processor()
# configure the Processor
proc.parse_config('enable')
# initialize the Processor
device = '/dev/video0'
if len(argv) > 1:
device = argv[1]
proc.init(device)
# enable the preview window
proc.visible = True
# read at least one barcode (or until window closed)
proc.process_one()
# hide the preview window
proc.visible = False
# extract results
for symbol in proc.results:
# do something useful with results
print symbol.data
keyboard.sh
python read_one.py | xvkbd -file -
Como posso remover o '\ n' antes de enviar o código de barras para xvkbd ou desativar a tecla enter no xvkbd?
Solução
Tente isto:
printf "$(python read_one.py)" | xvkbd -file -
Outras dicas
Para tirar a entrar:
print symbol.data.strip()
Mas um programa pipeable que faz isso é tipo de desagradável. Você poderia simplesmente enviar diretamente para xvkbd de seu programa (e sem necessidade de arquivo se você não se importa de passar a corda no args):
import subprocess # at appropriate place
subprocess.call(['xvkbd', '-text', symbol.data.strip()])
Isso também evita uma outra concha e script para ser executado.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow