Newsgroup: it.comp.os.linux.sys
Titolo: Programmino per convertire seriale -> kb

Sto cercando un programmino (che come tipologia si dovrebbe chiamare 
software keyboard wedge) per linux, in pratica dovrebbe stare in 
esecuzione e tutto ciò che riceve sulla seriale spararlo in emulazione 
di tastiera, automaticamente (serve per i lettori barcode seriali).
Su Win c'è questo che funziona egregiamente: 
http://www.pluriservice.it/www_temp/pluriservice_webprofessional_it/Serial_Receiver.1.0.0.4.zip
ma su linux non ho (ancora) trovato niente del genere...
Thanks.
-- 
Jax

 di tastiera, automaticamente (serve per i lettori barcode seriali).
Uhm, sulla tastiera? Che vuol dire?
Che quello che arriva dalla seriale viene
passato come se arrivasse dalla tastiera?
E dove va? Voglio dire, c'e` un programma
che aspetta input da tastiera?
bye,
-- 
piergiorgio

 ma su linux non ho (ancora) trovato niente del genere...
Mah... Il terzo risultato su google con keywords "serial barcode reader
linux" e' questo: 
http://www.roryt.gr/linbar/
bye G.L.
-- 
"E' assolutamente evidente che l'arte del cinema si ispira
alla vita, mentre la vita si ispira alla TV" - Woody Allen

 linux" e' questo: 
http://www.roryt.gr/linbar/
Cazzarola, sarebbe perfetto senonché:
"It works only for the Linux console ttys."
Purtroppo non è il mio caso...
Grazie lo stesso.
-- 
Jax

 che aspetta input da tastiera?
Beh, tutti i programmi aspettano input dalla tastiera ;)
Comunque sì, tipicamente in un gestionale, c'è il programma che ha una 
modalità di "attesa" in cui si aspetta, di solito, codice e quantità (o 
quant'altro viene letto sul barcode) e poi lo processa.
Nel mio caso specifico sono costretto ad usare l'emulazione di tastiera, 
visto che il programma che riceve i dati non è direttamente quello che 
controlla il gestionale, ma un semplice simil-telnet (iSeries Access, 
per chi lo conosce), quindi non può leggere i dati da seriale.
-- 
Jax

 per chi lo conosce)
come direbbero i carabinieri, "lo conosciamo, lo conosciamo..."

 
http://www.pluriservice.it/www_temp/pluriservice_webprofessional_it/Serial_Receiver.1.0.0.4.zip
questo puo' andar bene?
http://kbde.sourceforge.net/
(se non andasse bene puoi sempre adattare i sorgenti al tuo caso)

 Purtroppo non è il mio caso...
Sii un po' piu' aperto, esplicita... :-) Di che natura sono i
terminali?


> Su Win c'č questo che funziona egregiamente: 

Mi sono un po' letto il sito ma, sinceramente, ci ho capito poco :(
Mi pare di aver capito che questo programma emula una tastiera, ma non 
vedo riferimenti alla seriale.
Odio chiedere la pappa pronta, ma in questo caso sono costretto: non ho 
mai programmato in C, tantomeno sotto linux :(
-- 
Jax

 terminali?
Cercherò: non sono terminali, il tutto dovrebbe girare su un normale pc 
con una normale distro linux (diciamo ubuntu?). Il programma su cui 
dev'essere fatto lo "scarico" dei dati è IBM iSeries Access, che è sì un 
terminale, ma non nel senso "unixaro" del termine... dal punto di vista 
del sistema operativo è un programma come un altro che accetta input 
dalla tastiera come qualsiasi altro programma.
Per questo non ho specificato di che programma si trattava, perché non 
pensavo (e non penso) avesse importanza (ed è il vantaggio degli 
emulatori di tastiera).
-- 
Jax

 dalla tastiera come qualsiasi altro programma.
Quindi gira in console (se si parla di X, e' forse un'altro paio di
maniche, ma c'e' linbar per X). E quindi si presume che l'i/o tastiera
e video si svolga attraverso la tty (a meno che il programma non vada
direttamente di scancode...). Quindi, perche' linbar o similari non
dovrebbero funzionare?


 Beh, tutti i programmi aspettano input dalla tastiera ;)
Appunto.
Giusto per mia curiosita` personale, dove
starebbe la differenza con:
myprog < /dev/ttyS0
Thanks,
bye,
-- 
piergiorgio


c'è la differenza.
Quello che dici tu va bene se l'applicazione prende l'input da stdin, ma
se l'applicazione è X-based, i tasti arrivano a quest'ultima per mezzo
di messaggi di keypress keyreleased da X.
Quello che l'op chiede è un programma che simuli gli eventi della
tastiera a partire da una stringa in arrivo sulla seriale.
PSK

 dovrebbero funzionare?
Perdonami, ma per me è abbastanza arabo quello che scrivi... linbar, 
tty, scancode...
Forse era meglio postare su icoli :)
-- 
Jax

Jax ha scritto:


Beh... dopo che tu supponi, per non si sa quali precisati motivi, che
quanto suggerito non possa funzionare, perdonami, ma a fronte di questa
uscita mi cascano le braccine... :-)
Prova linbar (o linbar-X, se il programma gira su X), e poi dicci se
funziona o meno.


 funziona o meno.
Ok, sarà fatto.
-- 
Jax

 funzionare...
Beh... che fosse un'applicazione per X non era abbastanza chiaro dall'
inizio (o mi e' sfuggita qualcosa). Comunque, sul fatto di NON trovare
soluzioni, hai ragione tu, ed ecco infatti un disperato alla vana
ricerca di una soluzione per lettori di codici a barre seriali sotto
Xorg: 
http://lkml.org/lkml/2006/12/27/129
Pertanto, direi pure di dedicare poco o nessun tempo alla ricerca di
linbar o linbar X (oltretutto un programma vecchissimo e non piu'
mantenuto), ma cercare di capire se c'e' un supporto diretto su Xfree o
Xorg per 'sti benedetti lettori rs232.


 Xorg per 'sti benedetti lettori rs232.
E se non c'e', come purtroppo pare di capire, kbde segnalato da redwiz
mi sembra a un passo dalla soluzione:
http://kbde.sourceforge.net/kbde/readme.driver.html
Se e' come immagino, una volta caricato il modulo, forse basta settare
la seriale con i parametri giusti (man stty) per il tuo barcode scanner,
e mandare in background un programma che faccia una cosa del tipo:
# cat /dev/ttyS0 > /dev/kbde &
Un mio dubbio e' pero' se in /dev/kbde bisogna buttarci caratteri
ascii o scan-codes, in quest'ultimo caso bisognerebbe prima tradurre
la stringa ascii restituita dal lettore in codici scan-codes
(approssimativamente: i "primitivi" segnali della tastiera, che devono
essere tradotti poi in caratteri ascii in funzione della mappatura
della tastiera che e' stata scelta)...


 la stringa ascii restituita dal lettore in codici scan-codes
/dev/kbde prende gli scan-codes, questa utility a corredo potrebbe
pero' fare al caso tuo:
http://kbde.sourceforge.net/kbde/man/kbde.1.html
