Tastiera su schermo per ambienti x11

Iniziative e progetti della comunità legati a Ubuntu.
Regole della sezione
Questa sezione ha lo scopo di raccogliere le iniziative/progetti della nostra Comunità legati ad Ubuntu. I progetti ospitati nascono da iniziative degli utenti o gruppi di utenti. In futuro i progetti potrebbero rimanere iniziative "personali" o essere integrate nella distribuzione, sponsorizzate da Ubuntu o da Canonical a discrezione dei responsabili. All'interno di essa sarà possibile inserire delle discussioni che hanno la funzione di pubblicizzare avvenimenti, iniziative e progetti software su Ubuntu e GNU/Linux in generale. Sarà inoltre possibile per gli utenti proporre lo sviluppo di nuovi software e in questo caso la discussione di richiesta avrà la funzione di generare un requisito funzionale del prodotto da sviluppare.

Sezione I - Iniziative
  • Fanno parte di iniziative, ad esempio, le seguenti categorie: corsi, progetti editoriali, libri.
  • La segnalazione di un'iniziativa avviene creando una discussione con l'annuncio.
  • Una volta effettuata la segnalazione, la discussione viene chiusa dal Gruppo Forum.
  • Se l'iniziativa esposta comporta un costo di adesione o fruizione, questo deve essere esplicitamente riportato all'interno della discussione.
  • È obbligatorio segnalare all'interno della discussione i riferimenti per poter contattare/partecipare all'iniziativa.
Sezione II - Progetti
  • La segnalazione di un progetto software, come per le iniziative, avviene e si sviluppa all'interno di una singola discussione.
  • Sarà consentito l'inserimento di software solo se rilasciati sotto licenza GPL (in tutte le sue versioni) o equivalente FOSS, tale da garantire agli utenti l'utilizzo del prodotto senza restrizioni e agli sviluppatori la proprietà intellettuale del codice prodotto.
  • Nell'oggetto della discussione dovrà essere riportata la categoria (es. [Iniziativa], [Progetto] o [Proposta]) e una semplice descrizione del progetto.
  • Se il progetto ha già un sito che lo ospita sarà a discrezione del Gruppo Forum chiuderla come segnalazione o lasciarla aperta.
  • Se il progetto non ha un sito che lo ospita si potranno aprire due discussioni, una per proporre modifiche/implementazioni (dove nel titolo occorre specificare [sviluppo]) ed una per segnalare problemi (e nel titolo dovrà comparire [supporto]).
  • Non è consentita l'apertura di nuove discussioni in riferimento a versioni superiori o modificate di un prodotto già riportato in precedenza.
  • Se il software oggetto del progetto ha una dimensione non superiore ai 128 kB, per prodotti che non hanno un sito che li ospita, sarà possibile allegarlo alla discussione.
Sezione III - Proposte
  • Una proposta deve essere eseguita e si svilupperà all'interno di una singola discussione.
  • Le proposte dovranno essere inserite direttamente nella sezione "Progetti della Comunità".
  • Dovranno essere specificate le funzionalità che devono essere sviluppate.
  • Non dovranno essere riportate diciture tipo "...deve fare come questo software...", ma indicare nel miglior modo possibile i requisiti.
  • Una volta segnalata la discussione resterà aperta per consentire uno scambio di idee su come sviluppare il codice o finché gli sviluppatori non forniranno una soluzione (da pubblicizzare poi, come visto prima, nella sezione Progetti) che ne soddisfi il requisito.
Per quanto non esposto sopra, si fa comunque riferimento al Regolamento del forum ed al Codice di Condotta della Comunità.
Scrivi risposta
LUBO-BACK
Prode Principiante
Messaggi: 97
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Tastiera su schermo per ambienti x11

Messaggio da LUBO-BACK »

Salve a tutti, nell'ultimo periodo mi sono appassionato alla creazione di tastiere su schermo ed al funzionamento dello swipe.

Prima ne ho realizzata una un po' complessa con anche motori locali di riconoscimento della scrittura e della voce, specificatamente mirata a wayland, poi ne ho realizzata e pacchettizzata come .deb una versione minore per ambienti x11. Personalmente la uso quando ho per le mani un chromebook o un dispositivo con chromeflex, perché la tastiera nativa non funziona in molti casi nelle app di crostini ma, in ogni caso, questa tastiera funziona di sicuro su x11 perche usa xdotool per l'inserimento.

Ha swipe (locale) handwrting recognition e voice input (attraverso i server di google) e layout italiano e inglese.

E' piuttosto utilizzabile.https://drive.google.com/file/d/1A_CuuI ... drive_link
Avatar utente
frapox
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4675
Iscrizione: sabato 31 dicembre 2005, 19:22
Desktop: Gnome, Plasma
Distribuzione: Fedora, Ubuntu

Re: Tastiera su schermo per ambienti x11

Messaggio da frapox »

Sì ma il codice dov'è?
«La tecnologia va cavalcata. Se è lei a cavalcarci, ne siamo schiavi.»
LUBO-BACK
Prode Principiante
Messaggi: 97
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Re: Tastiera su schermo per ambienti x11

Messaggio da LUBO-BACK »

All'interno del deb, le vedi con xarchiver o qualsiasi altro estrattore. C'è un file py e due sorgenti in C. Vengono compilati in sede di installazione, ho evitato di compilarli prima proprio per dare la possibilità a chi ne è capace di vederne ed ispezionarne il contenuto.
Avatar utente
frapox
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4675
Iscrizione: sabato 31 dicembre 2005, 19:22
Desktop: Gnome, Plasma
Distribuzione: Fedora, Ubuntu

Re: Tastiera su schermo per ambienti x11

Messaggio da frapox »

LUBO-BACK ha scritto:
venerdì 27 febbraio 2026, 13:51
All'interno del deb, le vedi con xarchiver o qualsiasi altro estrattore. C'è un file py e due sorgenti in C. Vengono compilati in sede di installazione, ho evitato di compilarli prima proprio per dare la possibilità a chi ne è capace di vederne ed ispezionarne il contenuto.
Ah, ok! Avevo dato per scontato che fosse solo il binario, perdonami. Se riesco uno di questi giorni le do un'occhiata.
Purtroppo non ho un convertibile 2-in-1 quindi posso fare prove limitate.
Ti serve un qualche tipo di feedback specifico?
«La tecnologia va cavalcata. Se è lei a cavalcarci, ne siamo schiavi.»
LUBO-BACK
Prode Principiante
Messaggi: 97
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Re: Tastiera su schermo per ambienti x11

Messaggio da LUBO-BACK »

Boh, diciamo che entrambe le tastiere le ho fatte per me, non per farci su soldi. Sia perché faccio un altro lavoro, sia anche perché mi pare che non ci sia grande mercato. Mi seccava non avere una tastiera come quella dei telefoni android e mi ci sono messo un po´ di impegno, ma a tempo perso la sera, diciamo un centinaio di ore per entrambe le tastiere (la seconda davvero in un paio di sere). Mi piacerebbe dare un po' di impulso al settore delle osk su linux che sembra 20 anni indietro rispetto ad Android o Ios, proprio perché mi rendo conto che da solo posso fare qualcosa che funzioni in italiano ed inglese, non una cosa con 80 lingue e layout cui dovrei dedicarmi h24.

Appena riesco, faccio un rpm ed un deb anche per la tastiera per wayland che va benissimo ma, per funzionare ovunque (anche nelle app più vecchie) richiede ydotool e perciò permessi di root o udev rules. Nessun mantainer la vorrebbe come ufficiale, hanno delle strane fisse sulla sicurezza rispetto ad eseguibili di cui possono ispezionare i sorgenti, ma accettano input da qualsiasi tastiera usb che può contenere/iniettare le peggiori cose, boh.

Detto questo, la parte migliorabile complessa è la logica di swipe, non avendo le reti neurali che usa google.

Per la tastiera x11, la gestione della finestra è un po' grezza, l'ho tirata via velocemente.

Credo che i punti migliorabili siano quelli e lì sono benvenuti suggerimenti, impressioni e quello che è.

Dopo di che, ad esempio, scriverci dentro con lo stilo in corsivo ed usare l'input method di google è davvero fighissimo.

Probabilmente dovrei mettere tutto su github, ma sono un pochetto pigro...
Avatar utente
frapox
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4675
Iscrizione: sabato 31 dicembre 2005, 19:22
Desktop: Gnome, Plasma
Distribuzione: Fedora, Ubuntu

Re: Tastiera su schermo per ambienti x11

Messaggio da frapox »

LUBO-BACK ha scritto:
venerdì 27 febbraio 2026, 14:28
...
Credo che i punti migliorabili siano quelli e lì sono benvenuti suggerimenti, impressioni e quello che è.
Io infatti volevo sapere se ti serve qualche feedback specifico in modo tale da testare l'app in un certo modo. Posso contribuire così anche se, mi rendo conto, non avendo un convertibile posso essere poco utile.
«La tecnologia va cavalcata. Se è lei a cavalcarci, ne siamo schiavi.»
LUBO-BACK
Prode Principiante
Messaggi: 97
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Re: Tastiera su schermo per ambienti x11

Messaggio da LUBO-BACK »

Innanzitutto grazie dell'interesse, questo è il codice della versione semplificata
codice.zip
(32.89 KiB) Scaricato 4 volte
All'interno trovi un file .py che contiene l'interfaccia grafica e coordina i due motori in C. Uno per lo swipe e l'altro per la scrittura predittiva.

Il file py gestisce in proprio l'interfaccia e la parte del riconoscimento della scrittura manoscritta e vocale attraverso i server di google (nella versione maggiore anche in locale con un file tflite e con vosk, ma qui li ho rimossi) e si occupa di scaricare dizionari e layout. Attraverso ctypes coordina/utilizza i due motori in C per la parte matematica.

Il file dello swipe in realtà non si occupa solo dello swipe (calcolo coordinate etc.) ma anche dell'autocorrezione spaziale (prefto diventa presto etc.).

Il file unified_engine.c fa un sacco di cose, anche un po' alla rinfusa. Usa le matrici per calcolare la deviazione di Levensthein ed il pruning (taglio i rami delle parole che non servono nella ricerca della predizione) inizializza i dizionari, dà il boost alle parole che uso spesso e così via. Contiene anche il motore geometrico con la funzione del c.d. fat finger. ovvero una funzione che tiene conto degli errori nello swipe e del fatto che swipando qua e là è naturale essere imprecisi.

La tastiera è nata in python qualche giorno prima di Natale. Andava bene solo in python sino a che doveva solo scrivere, magari lentamente. Aggiungendo tutte queste funzioni, ho dovuto passare in C la parte pesante, ma rimane un lavoro fatto un po' a pezzi. Funzionalmente migliore, almeno come feature, delle tastiere di linux, ma pur sempre un software scritto da solo ed a tempo perso e senza la pulizia che deriverebbe da una revisione sistematica di chi fa questo per lavoro.

Non per falsa modestia, ma non sono uno sviluppatore professionista e, anche se credo di avere un'intuizione sopra la media nel mettere insieme le soluzioni tecniche, sconto il fatto di non avere una formazione seria e un metodo ordinato (non ho nemmeno tenuto copia delle revisioni) perciò qualunque tipo di contributo anche critico sarà apprezzato.

L'ideale sarebbe farne un progetto della comunità ed avere almeno 4 o 5 persone a revisionare il codice ed a dare idee.
Avatar utente
frapox
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4675
Iscrizione: sabato 31 dicembre 2005, 19:22
Desktop: Gnome, Plasma
Distribuzione: Fedora, Ubuntu

Re: Tastiera su schermo per ambienti x11

Messaggio da frapox »

ho avuto un po di tempo per provarla, le mie osservazioni:
  • al primo avvio mi è crashata; presumo sia un caso perché poi non me l'ha più fatto.
  • i pulsanti non hanno un "baloon" (popup sovraimpresso descrittivo della funzione)
  • Se premo su un pulsante non cambia colore in modo da far capire che è stato premuto e la funzione attiva.
  • la modalità swipe quando attivata non mostra una linea che traccia il percorso effettuato
  • il pulsante "_" che dovrebbe servire a minimizzarla, non fa apparire un icona nella dock o da nessun'altra parte -- di fatto il processo è ancora in esecuzione ma non so come riportarla visibile
  • alla partenza, viene visualizzata in parte fuori schermo (tagliata in basso)
  • la dimensione non si adatta in base alla finestra dove la sto usando, per esempio se ssto usando un editor, mi aspetterei che la sua finestra venga ridimensionata in modo tale da non essere coperta dalla tastiera virtuale
  • mi ha caricato il layout italiano, e anche se cambio a EN in alto a sinistra, il layout rimane quello (io ho una tastiera con layout Ansi US e nelle impostazioni di sistema ho correttamente settato English US). Anche dopo averla chiusa, mi rimane il layout sbagliato.
  • consumo di RAM esagerato. Va bene che ormai le macchine attuali si attestano a 16 GB di RAM mediamente, ma molti usano ancora residuati bellici con 4 GB e quindi una tastiera che mi occupa 400 erotti MB non è proprio leggerissima.
Poi, oltre a quanto detto sopra, credo che ci sia da farne un porting a Wayland urgente, dato che ormai l'utenza di Ubuntu usa per la maggior parte la sessione Wayland, e dato che con la release in prossima uscita di Resolute Racoon la sessione Gnome on Xorg sparirà del tutto (non c'è più neanche come scelta opzionale).
«La tecnologia va cavalcata. Se è lei a cavalcarci, ne siamo schiavi.»
LUBO-BACK
Prode Principiante
Messaggi: 97
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Re: Tastiera su schermo per ambienti x11

Messaggio da LUBO-BACK »

Non mi collegavo da un po' e non ci ho più lavorato su da qualche settimana.

Credo che sul tuo pc manchi cairo che è quello che disegna la striscia dello swipe ed altra roba.

La versione per wayland è pronta da prima, ma non pacchettizzata. Questo è il link https://drive.google.com/drive/folders/ ... sp=sharing

Trovi tutto un po' alla rinfusa, compresi i file da mettere in, config

La sto usando in questo momento per scrivere questo post su un vecchio surface go 2 Da 8 giga di ram e fedora kde e va abbastanza ben, ma sul ryzen 5 con ram da 16 giga era migliore.

Però va testata col touchscreen.

Grazie e buona domenica.
Avatar utente
frapox
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4675
Iscrizione: sabato 31 dicembre 2005, 19:22
Desktop: Gnome, Plasma
Distribuzione: Fedora, Ubuntu

Re: Tastiera su schermo per ambienti x11

Messaggio da frapox »

LUBO-BACK ha scritto:
domenica 29 marzo 2026, 15:49
Credo che sul tuo pc manchi cairo che è quello che disegna la striscia dello swipe ed altra roba.
Le dipendenze non dovrebbero essere segnalate dal/nel pacchetto? Se serve cairo lo deve installare in automatico come dipendenza.

Comunque le prove sono state effettuate su una VM con Noble - install pulita e cairo risulta installato:

Codice: Seleziona tutto

noble@qemu-ubuntu-noble:~$ dpkg -l *cairo* | grep ii
ii  libcairo-gobject-perl              1.005-4build3     amd64        integrate Cairo into the Glib type system in Perl
ii  libcairo-gobject2:amd64            1.18.0-3build1    amd64        Cairo 2D vector graphics library (GObject library)
ii  libcairo-perl                      1.109-4build1     amd64        Perl interface to the Cairo graphics library
ii  libcairo-script-interpreter2:amd64 1.18.0-3build1    amd64        Cairo 2D vector graphics library (script interpreter)
ii  libcairo2:amd64                    1.18.0-3build1    amd64        Cairo 2D vector graphics library
ii  libcairomm-1.16-1:amd64            1.18.0-1build1    amd64        C++ wrappers for Cairo (shared libraries)
ii  libpangocairo-1.0-0:amd64          1.52.1+ds-1build1 amd64        Layout and rendering of internationalized text
ii  python3-cairo                      1.25.1-2build2    amd64        Python3 bindings for the Cairo vector graphics library
noble@qemu-ubuntu-noble:~$ 
(non l'ho specificato ma io faccio sempre prove in VM pulite per evitare di introdurre variabili impreviste).

è crashata anche adesso che l'ho riprovata.
Però va testata col touchscreen.
Lo ho specificato dall'inizio che non ho un 2-in-1, per cui lo swipe posso provarlo solo con il mouse, e ti confermo che non è visibile la striscia.

:ciao:
«La tecnologia va cavalcata. Se è lei a cavalcarci, ne siamo schiavi.»
LUBO-BACK
Prode Principiante
Messaggi: 97
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Re: Tastiera su schermo per ambienti x11

Messaggio da LUBO-BACK »

Non vorrei sbagliarmi, ma lo swipe col mouse lo avevo volutamete disabilitato.

Poi controllo il codice: )
LUBO-BACK
Prode Principiante
Messaggi: 97
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Re: Tastiera su schermo per ambienti x11

Messaggio da LUBO-BACK »

No, non in questa versione
Scrivi risposta

Ritorna a “Progetti della Comunità”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti