Usando xvkbd para leer un código de barras. Cómo desactivar la tecla Intro?
-
12-09-2019 - |
Pregunta
Estoy utilizando zbarcam para leer códigos de barras desde una cámara web en mis aplicaciones web. Pero, ya que muestran una zbarcam \ n al final, mi forma es enviar.
Esto es lo que utilizo:
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 -
¿Cómo puedo eliminar ya sea el '\ n' antes de enviar el código de barras para xvkbd o desactivar la tecla enter en xvkbd?
Solución
Prueba esto:
printf "$(python read_one.py)" | xvkbd -file -
Otros consejos
Para pelar el escriba:
print symbol.data.strip()
Sin embargo, un programa de pipeable que hace que sea el tipo de desagradable. Se podía enviar directamente a xvkbd de su programa (y sin necesidad de archivo, si no le importa pasando la cadena en args):
import subprocess # at appropriate place
subprocess.call(['xvkbd', '-text', symbol.data.strip()])
Esto también evita otro shell y script para ejecutar.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow