#language it <> ---- {{attachment:Portal/IDB/icon-wiki-portal.png}} Portale sulle tastiere del [[it/FrontPage|Wiki Debian]]. Questo portale tratta tutti gli aspetti della configurazione delle tastiere in Debian. <> Vedere anche [[https://www.debian.org/doc/manuals/debian-reference/ch08.en.html#_the_keyboard_input|"Input da tastiera" nella guida Debian Reference]]. == Configurazione di base della tastiera (kernel e X) == Per configurare la tastiera per il kernel Linux e per X è necessario installare DebianPkg:keyboard-configuration. È necessario anche il pacchetto DebianPkg:console-setup. Le impostazioni della tastiera sono memorizzate nel file '''{{{/etc/default/keyboard}}}''' fornito dal pacchetto DebianPkg:keyboard-configuration. Altri pacchetti lo usano per configurare sia il kernel Linux sia il sistema X Window per creare un'esperienza con la tastiera coerente nella console Linux e nel sistema X Window. La disposizione di tastiera può essere modificata dalla riga di comando: {{{ # dpkg-reconfigure keyboard-configuration # service keyboard-setup restart }}} 1. Viene presentato il menu per '''Modello di tastiera''' (ciò che '''*è*''' la tastiera). Se non si è sicuri, scegliere: * "Generica 104 tasti PC" per una tastiera di tipo US con "tasto Windows" * "Generica 105 tasti PC" per una tastiera tipo ISO con "tasto Windows" (e tastiera tipo JIS con "tasto Windows") * "Generica 104 tasti PC" o "Generica 105 tasti PC" può essere scelta come detto sopra per tastiere più piccole su PC portatili. 2. Viene presentato il menu per '''Lingua della tastiera'''. Se non si è sicuri, scegliere: * "Inglese (US)" per tastiere "QWERTY" * "Tedesca" per tastiere "QWERTZ" * "Francese" per tastiere "AZERTY" * "Giapponese" per tastiere "QWERTY" con tasti aggiuntivi pensati per il giapponese. 3. Viene presentato il menu per '''Disposizione della tastiera''' (cosa dovrebbero '''*fare*''' i tasti). Se non si è sicuri, scegliere: * "Inglese (US)" per disposizione semplice (inglese) * "Inglese (internazionale, con tasti muti AltGr)" per avere accesso ai caratteri accentati, ecc. * "Predefinita" per disposizione semplice (tedesca, francese) * "Giapponese" per disposizione semplice (Japanese) * "Dvorak", ecc. se le si desidera. Per applicare le nuove impostazioni, dovrebbe essere sufficiente riavviare il servizio {{{keyboard-setup}}}; se così non è si può provare a riavviare il sistema di input del kernel con udev: {{{ udevadm trigger --subsystem-match=input --action=change }}} o a '''riavviare''' l'intero sistema operativo. Il kernel Linux e i il sistema X Window elaborano l'input da tastiera in modo indipendente. Il pacchetto '''{{{keyboard-configuration}}}''' si occupa della loro configurazione. Per il sistema X Window, l'input da tastiera è elaborato usando [[https://en.wikipedia.org/wiki/X_keyboard_extension|X keyboard Extension (XKB)]]. I dati dalla tastiera risultanti sono passati alle applicazioni X attraverso la connessione X con il protocollo [[https://en.wikipedia.org/wiki/X_Input_Method|X Input method (XIM)]]. == Configurazione moderna della tastiera (IM) == Il semplice meccanismo di input con tastiera realizzato dalla configurazione descritta sopra non può gestire correttamente alcune lingue, come cinese e giapponese. L'installazione di una infrastruttura per metodo di input (IM), come DebianPkg:ibus (o DebianPkg:fcitx5) insieme ai pacchetti correlati permette di gestire tutte le lingue. Per i sistemi moderni con GUI, l'input da tastiera è elaborato da IM usando i motori IM. Per le applicazioni GTK e Qt, i dati di tastiera risultanti sono passati ad esse attraverso la comunicazione con [[https://en.wikipedia.org/wiki/D-Bus|D-Bus]]. Per le applicazioni X i dati da tastiera risultanti sono passate ad esse attraverso la connessione X con il protocollo [[https://en.wikipedia.org/wiki/X_Input_Method|X Input method (XIM)]]. Se il sistema GUI è [[Wayland]], xwayland facilita la connessione X per le applicazioni X. (Non fare confusione tra IM e XIM.) Per il sistema GNOME (l'ambiente desktop predefinito in Debian), il pacchetto DebianPkg:ibus viene automaticamente installato e attivato. L'input da tastiera deve essere configurato dalla sua GUI '''{{{Impostazioni -> Tastiera}}}''' per la configurazione di base. Per una configurazione più complessa, come scambiare '''{{{BlocMaiusc}}}''' e '''{{{Ctrl}}}''', è necessario installare e usare DebianPkg:gnome-tweak. Per i sistemi non GNOME, il comando autonomo di configurazione GUI '''{{{ibus-setup}}}''' può impostare l'infrastruttura IM per DebianPkg:ibus. In questi ambienti desktop, la voce di menu per la loro utilità di configurazione della tastiera o una voce a comparsa che appare quando si clicca sull'icona del vassoio associata può avviare '''{{{ibus-setup}}}''' per l'utente. Per KDE, la configurazione di '''ibus''' è in '''{{{Impostazioni di sistema -> Hardware -> Dispositivi di input/tastiera}}}'''. L'icona del vassoio è disponibile come '''kimpanel''' nel pacchetto DebianPkg:plasma-widgets-addons. Vedere [[I18n/ibus]] e [[I18n/Fcitx5]] per ulteriori informazioni. == Strategia di configurazione multi-lingua della tastiera == Esistono 2 strategie per avere una configurazione multi-lingua della tastiera. Mescolare queste 2 strategie per l'input da tastiera crea un sistema non gestibile. Perciò non mescolarle. === Strategia vecchio stile === Chi desidera impostare un singolo ambiente di input da tastiera per più lingue (europee) vecchio stile senza l'infrastruttura per IM, dovrebbe considerare la seguente strategia di configurazione. * Se è installato un pacchetto per IM, deattivarlo eseguendo '''{{{im-config -n none}}}'''. * Selezionare il modello di tastiera corretto. (US/ISO) * Selezionare la disposizione di tastiera desiderata, ad esempio: inglese (US International AltGr Unicode combining,alternative ) * (Opzionalmente) Impostare il comportamento della tastiera usando [[https://en.wikipedia.org/wiki/X_keyboard_extension|X keyboard Extension (XKB)]]. * Questa configurazione può essere fatta dal codice di avvio di X configurato dall'ambiente GUI o dalla chiamata '''{{{xkbcomp}}}''' in {{{~/.xsession}}}. * Le applicazioni X comunicano con il server X per l'input da tastiera attraverso la connessioni X con il protocollo [[https://en.wikipedia.org/wiki/X_Input_Method|X Input Method (XIM)]]. Ciò viene offerto per compatibilità all'indietro. === Strategia moderna === Chi desidera impostare più ambienti per input da tastiera commutabili in modo dinamico in un modo moderno per più lingue, dovrebbero considerare la strategia di confirazione seguente. * Installare un pacchetto per infrastruttura per metodo di input (IM) come DebianPkg:ibus * (Opzionalmente) Installare il pacchetto per IM pertinente come DebianPkg:ibus-anthy * Attivare la disposizione di tastiera/motore di IM desiderati aggiungendoli dal menu come in '''{{{Impostazioni -> Tastiera -> Fonti di input}}}''' e configurarli. * Spostarsi tra i motori di IM/disposizioni di tastiera premendo '''{{{GUI-SPAZIO}}}'''. * Le applicazioni X comunicano con il demone per server IM come '''ibus-daemon''' con identificazione con '''{{{XMODIFIERS}}}''' per l'input da tastiera con il protocollo [[https://en.wikipedia.org/wiki/X_Input_Method|X Input Method (XIM)]]. * Le applicazioni GTK comunicano con gli IM come DebianPkg:ibus con la libreria specificata da '''{{{GTK_IM_MODULE}}}''' per l'input da tastiera attraverso la comunicazione [[https://en.wikipedia.org/wiki/D-Bus|D-Bus]]. * Le applicazioni Qt comunicano con gli IM come DebianPkg:ibus con la libreria specificata da '''{{{QT_IM_MODULE}}}''' per l'input da tastiera attraverso la comunicazione [[https://en.wikipedia.org/wiki/D-Bus|D-Bus]]. Notare che l'infrastruttura IM come DebianPkg:ibus fornisce la sua funzionalità interna equivalente di [[https://en.wikipedia.org/wiki/X_keyboard_extension|X keyboard Extension (XKB)]] per inserire molti caratteri Unicode per le lingue europee, senza pacchetti per motori aggiuntivi e la sua configurazione è disponibile nel programma '''{{{GNOME Tweaks}}}''' in '''{{{Mouse e tastiera -> Opzioni di disposizione aggiuntive}}}'''. Vedere [[#How_to_dynamically_manage_input_source_settings_from_the_command_line|più avanti per il metodo non GUI per impostarle]]. Ciò viene offerta come direzione per il futuro. Vedere "[[#IM_e_XIM|IM e XIM]]" per le attenzioni necessarie per usare IM senza problemi. == Suggerimenti per la configurazione della tastiera == === Configurazione manuale della tastiera === Si può modificare manualmente {{{/etc/default/keyboard}}} invece di eseguire '''{{{dpkg-reconfigure keyboard-configuration}}}'''. Questo è un esempio: {{{ # KEYBOARD CONFIGURATION FILE # Consultare le pagine di manuale keyboard(5) e xkeyboard-config(7). XKBMODEL="pc105" XKBLAYOUT="us,de,fr,ua,ru" XKBVARIANT="" XKBOPTIONS="grp:alt_shift_toggle" BACKSPACE="guess" }}} * XKBMODEL è una variabile che indica il modello della tastiera (per l'elenco completo vedere {{{/usr/share/X11/xkb/rules/base.lst}}} (testo semplice) o {{{/usr/share/X11/xkb/rules/base.xml}}} (XML)); * XKBLAYOUT, variabile che contiene l'elenco delle disposizioni usate; * "grp:alt_shift_toggle" imposta una combinazione di tasti per cambiare la disposizione (+). Nell'ambiente X, questa impostazione della disposizione della tastiera in {{{/etc/default/keyboard}}} può essere scavalcata eseguendo un comando simile a "{{{setxkbmap us,ru -option grp:ctrl_shift_toggle}}}" nel file di configurazione per l'avvio di X {{{~/.xsessionrc}}}. Notare che ciò ha effetto solamente per l'ambiente X e gli ambienti GUI moderni potrebbero non essere in esecuzione sotto l'ambiente X. Vedere anche: * la pagina di manuale [[DebianMan:5/keyboard|keyboard(5)]]; * la pagina di manuale [[DebianMan:7/xkeyboard-config|xkeyboard-config(7)]]; * [[/MultimediaKeys|Configurare tasti multimediali aggiuntivi]]. === Come impostare una disposizione di tastiera in initramfs === Deve essere modificata la sezione appropriata in {{{/etc/initramfs-tools/initramfs.conf}}} per avere una disposizione della tastiera localizzata all'avvio: Per avere la disposizione di tastiera localizzata all'avvio, è necessario modificare il file {{{/etc/initramfs-tools/initramfs.conf}}}: {{{ # # KEYMAP: [ y | n ] # # Carica una mappa di tastiera nello stadio initramfs. # KEYMAP=y }}} Applicare i cambiamenti: {{{ # update-initramfs -u }}} === Abilitare tastiere USB in initramfs === Per avere la gestione di tastiere USB all'avvio initramfs-tools deve includere il modulo usbhid e le sue dipendenze. O il file {{{/etc/initramfs-tools/conf.d/driver-policy}}} deve includere la maggior parte dei moduli, o questi devono essere specificati in un altro file: {{{ # # MODULES: [ most | netboot | dep | list ] # # most - Aggiunge la maggior parte del file system e tutti i driver di dispositivi fisici # # dep - Cerca di indovinare quali moduli caricare. # # netboot - Aggiunge i moduli base, i moduli di rete, ma salta quelli dei device a blocchi. # # list - Include solamente i moduli nell'elenco dei 'moduli aggiuntivi' # MODULES=most }}} Se il file di configurazione sopra citato non è impostato per includere la maggior parte dei moduli, allora è necessario che essi siano specificati nel file {{{/etc/initramfs-tools/modules}}}: {{{ # tastiera USB all'avvio usbcore uhci_hcd ehci_hcd usbhid }}} Rendere effettivi i cambiamenti. {{{ # update-initramfs -u }}} === Come attivare dinamicamente le impostazioni per la console Linux === Per attivare le impostazioni modificate in {{{/etc/default/keyboard}}} senza riavviare, eseguire [[DebianMan:1/setupcon|setupcon(1)]]. {{{ $ sudo setupcon -k -f }}} === Come attivare dinamicamente le impostazioni per X Window (strategia vecchio stile) === Se l'infrastruttura IM non è attiva, si può cambiare la disposizione di tastiera del sistema X Window dal terminale, es.: {{{ $ setxkbmap it $ setxkbmap fr $ setxkbmap us }}} Potrebbe essere particolarmente interessante per le tastiere hardware con disposizione us la variante ''altgr-intl'' (questa fornisce una semplice mappatura con !AltGr per molti caratteri con umlaut e simboli speciali): {{{ $ setxkbmap -rules evdev -model evdev -layout us -variant altgr-intl }}} o {{{ $ setxkbmap -model pc105 -layout us -variant altgr-intl }}} Per configurare un semplice tasto per commutare tra più disposizioni di tastiera configurate, vedere l'opzione !XkbOptions nella Sezione !InputClass da qualche parte all'interno della raccolta di file di configurazione di xorg (vedere [[https://forums.freebsd.org/threads/solved-setxkbmap-xinitrc.48412/#post-270733|[SOLVED] Setxkbmap .xinitrc]]). === Come gestire dinamicamente la configurazione delle fonti di input dalla riga di comando (strategia moderna) === La configurazione delle fonti di input può essere gestita in modo dinamico usando il comando '''{{{gsettings}}}''', '''{{{dconf}}}''' o '''{{{dconf-editor}}}'''. Il comando '''{{{gsettings}}}''' è il wrapper indipendente dalla piattaforma per il comando '''{{{dconf}}}''' specifico di Linux e '''{{{dconf-editor}}}''' è un programma con GUI. Le attuali impostazioni per la fonte di input e la fonte di input XKB possono essere ottenute dalla riga di comando. Ad esempio usando: {{{ $ gsettings get org.gnome.desktop.input-sources sources [('xkb', 'us'), ('ibus', 'anthy'), ('ibus', 'mozc-jp')] $ gsettings get org.gnome.desktop.input-sources xkb-options ['lv3:ralt_switch', 'compose:rwin'] }}} o {{{ $ dconf read /org/gnome/desktop/input-sources/sources [('xkb', 'us'), ('ibus', 'anthy'), ('ibus', 'mozc-jp')] $ dconf read /org/gnome/desktop/input-sources/xkb-options ['lv3:ralt_switch', 'compose:rwin'] }}} Queste possono essere modificate a specifici valori. Per esempio: {{{ $ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('ibus', 'anthy'), ('ibus', 'mozc-jp')]" $ gsettings set org.gnome.desktop.input-sources xkb-options "['lv3:ralt_switch', 'compose:rwin']" }}} o {{{ $ dconf write /org/gnome/desktop/input-sources/sources "[('xkb', 'us'), ('ibus', 'anthy'), ('ibus', 'mozc-jp')]" $ dconf write /org/gnome/desktop/input-sources/xkb-options "['lv3:ralt_switch', 'compose:rwin']" }}} Possono essere reimpostati usando '''{{{gsettings reset ...}}}''' o '''{{{dconf reset ...}}}'''. === Come creare una scorciatoia ad una tastiera personalizzata per selezionare una particolare fonte di input === Per GNOME si può creare una scorciatoia da tastiera personalizzata per selezionare in modo deterministico una particolare sorgente di input assegnado il comando con '''{{{Impostazioni -> Tastiera -> Scorciatoie da tastiera}}}''' (invece di usare la commutazione con '''{{{Super-SPACE}}}'''). Ad esempio, come spiegato [[https://osamuaoki.github.io/en/2021/01/15/debian-usability/#keyboard-shortcut-customization-gnome-settings|altrove]], il comando seguente seleziona la prima fonte di input: {{{ gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()" }}} === Configurazione della tastiera per tasti Cancella all'indietro e Canc e tipo di terminale === Una buona analisi della situazione complicata riguardo la configurazione della tastiera per i tasti Cancella all'indietro e Canc e il tipo di terminale è disponibili in {{{/usr/share/doc/xterm/README.Debian}}}. La mappa di tastiera predefinita in Debian per xterm è il comportamente come terminale in stile DEC VT 220 che è coerente con la console virtuale Linux. Ciò libera Ctrl-H dall'azione per cancellare all'indietro e permette di usarlo per altri scopi in programmi come Vim. === Come usare il terminale kitty con IM === L'emulatore di terminale basato su GPU DebianPkg:kitty non usa X, GTK, né la libreria Qt, ma usa la libreria Wayland. Per poter attivare l'IM per inserire alcuni caratteri per il cinese o il giapponese è necessario seguire quanto scritto in {{{/usr/share/doc/kitty/README.Debian}}}. == Vista d'insieme dell'input da tastiera == Ecco una panoramica della situazione dell'input da tastiera in Debian. Per poter evitare confusione sotto sono descritte sia la situazione storica più semplice, sia la più complicata situazione attuale. === Situazione storica dell'input da tastiera === Prima dell'introduzione del supporto per [[Wayland]] in Debian, la situazione dell'input da tastiera poteva essere riassunta in questo modo: * L'ambiente GUI era fornito solo dal sistema X. * Per la console virtuale di Linux, il suo input da tastiera era gestito dal kernel Linux. Vedere '''{{{keymap}}}(5)'''. * Per l'ambiente X senza IM, l'input da tastiera era gestito dal server X con chiamate a basso livello al kernel Linux e usando la sua propria mappa di tastiera. Vedere '''{{{X}}}(7)''' e '''{{{xmodmap}}}(1)'''. * Ciò era sufficientemente buono per inserire molti caratteri accentati (non ASCII) usando il [[https://en.wikipedia.org/wiki/Dead_key|tasto morto]], il [[https://en.wikipedia.org/wiki/AltGr_key|tasto AltGr]], il [[https://en.wikipedia.org/wiki/Compose_key|tasto di composizione]]. * Questa configurazione può essere fatta dal codice di avvio di X configurato dall'ambiente GUI o dalla chiamata '''{{{xkbcomp}}}''' in {{{~/.xsession}}}. * Per l'ambiente X con IM, l'input da tastiera è gestito da IM. Vedere [[I18n/ibus]] e [[I18n/Fcitx5]]. * L'ambiente di sistema è configurato da uno script hook fornito da DebianPkg:im-config che imposta le variabili d'ambiente ed esegue il demone come parte dell'avvio di X. * '''{{{XMODIFIERS}}}''' tipicamente impostato a ''@im='' per abilitare un particolare IM. * Demone per IM che serve il protocollo XIM avviato dallo script di hook. * '''{{{GTK_IMMODULE}}}''' (o simile) tipicamente impostato a '''' per abilitare un particolare IM per le applicazioni che usano GTK2/GTK3. * I moduli di input richiesti come DebianPkg:ibus-gtk3 e DebianPkg:ibus-gtk devono essere installati. * '''{{{QT_IMMODULE}}}''' (o simile) tipicamente impostato a '''' per abilitare un particolare IM per le applicazioni che usano QT4/QT5. * I moduli di input richiesti come DebianPkg:ibus-qt4 e DebianPkg:libqt5gui5 devono essere installati. * Ciò permette di inserire non solo molti caratteri accentati, ma anche caratteri cinesi e giapponesi. * L'impostazione di variabili d'ambiente diverse da quelle predefinite fornite da DebianPkg:im-config non è raccomandata né supportata. Gli svariati suggerimenti che si vedono sul web sono di solito pensati per aggirare problemi temporanei. Se si vede uno di '''{{{XMODIFIERS=@im=none}}}''', '''{{{GTK_IM_MODULE=xim}}}''' o '''{{{QT_IM_MODULE=xim}}}''' per l'ambiente di esecuzione del proprio programma, allora si è nei guai. === Situazione attuale dell'input da tastiera (alla data del 2022) === L'introduzione del supporto per [[Wayland]] a Debian ha cambiato la situazione dell'input da tastiera. (Sono avvenuti anche altri cambiamenti, come l'introduzione di systemd e GTK4) Dato che il supporto per [[Wayland]] è un'attività in fase di lavoro, fare riferimento alla pagina del wiki su [[Wayland]] per la situazione aggiornata e i dettagli. La situazione attuale (maggio 2022) di Debian 10 buster/stable e Debian 11/bookworm/testing per l'input da tastiera può essere riassunta come segue: * L'ambiente GUI è fornito dal sistema X o dal sistema Wayland. * Per la console virtuale di Linux, il suo input da tastiera è gestito dal kernel Linux. Vedere '''{{{keymap}}}(5)'''. * Per l'ambiente X senza IM, l'input da tastiera è gestito dal server X con chiamate a basso livello al kernel Linux e usando la sua propria mappa di tastiera. Vedere '''{{{X}}}(7)''' e '''{{{xmodmap}}}(1)'''. * Ciò è sufficientemente buono per inserire molti caratteri accentati (non ASCII) usando il [[https://en.wikipedia.org/wiki/Dead_key|tasto morto]], il [[https://en.wikipedia.org/wiki/AltGr_key|tasto AltGr]], il [[https://en.wikipedia.org/wiki/Compose_key|tasto di composizione]]. * Questa configurazione può essere fatta dal codice di avvio di X configurato dall'ambiente GUI o dalla chiamata '''{{{xkbcomp}}}''' in {{{~/.xsession}}}. * Per l'ambiente Wayland, le applicazioni per X puro sono ancora gestite da [[https://wiki.debian.org/Wayland#Xwayland|Xwayland]] ma le [[https://wiki.debian.org/Wayland#Xresources_won.27t_load|Xresources sono intenzionalmente ignorate]]. Ciò significa che la chiamata '''{{{xkbcomp}}}''' in {{{~/.xsession}}} viene ignorata. Le applicazioni X usano XIM per ottenere l'input da tastiera. * Per l'ambiente Wayland, le applicazioni non X devono essere configurate correttamente con IM con la libreria grafica. * Per qualsiasi ambiente con IM, il suo input da tastiera è gestito dall'IM. Vedere [[I18n/ibus]] e [[I18n/Fcitx5]]. * L'ambiente di sistema è configurato da uno script hook fornito da DebianPkg:im-config che imposta le variabili d'ambiente ed esegue il demone come parte dell'avvio di X e dell'inizializzazione del desktop. Alcuni sistemi desktop come GNOME scavalcano questa impostazione di DebianPkg:im-config. * '''{{{XMODIFIERS}}}''' tipicamente impostato a ''@im='' per abilitare un particolare IM. * Demone per IM che serve il protocollo XIM avviato dallo script di hook. * '''{{{GTK_IMMODULE}}}''' (o simile) tipicamente impostato a '''' per abilitare un particolare IM per le applicazioni che usano GTK2/GTK3/GTK4. * I moduli di input richiesti come DebianPkg:ibus-gtk4, DebianPkg:ibus-gtk3 e DebianPkg:ibus-gtk devono essere installati. * '''{{{QT_IMMODULE}}}''' (o simile) tipicamente impostato a '''' to enable a particular IM for application usingper abilitare un particolare IM per le applicazioni che usano QT5. * I moduli di input richiesti come DebianPkg:libqt5gui5 devono essere installati. * Ciò permette di inserire non solo molti caratteri accentati, ma anche caratteri cinesi e giapponesi negli ambienti X e Wayland. * L'impostazione di variabili d'ambiente diverse da quelle predefinite fornite da DebianPkg:im-config non è raccomandata né supportata. Gli svariati suggerimenti che si vedono sul web sono di solito pensati solo per aggirare problemi temporanei. Se si vede uno di '''{{{XMODIFIERS=@im=none}}}''', '''{{{GTK_IM_MODULE=xim}}}''' o '''{{{QT_IM_MODULE=xim}}}''' per l'ambiente di esecuzione del proprio programma, allora si è nei guai. == Risoluzione di problemi == === Cambiare la configurazione dell'IM === Per evitare problemi causati da cache di libreria, ecc. si dovrebbe riavviare il sistema quando si fanno modifiche alla configurazione dell'infrastruttura per IM (metodo di input). (Riavviare la sessione del desktop può essere sufficiente nella maggior parte dei casi, ma il riavvio è più sicuro.) === IM e XIM === Quelli che seguono sono suggerimenti per l'infrastruttura per metodo di input (IM) e i problemi con il protocollo [[https://en.wikipedia.org/wiki/X_Input_Method|XIM]]. ==== Caso con infrastruttura per metodo di input attivata ==== Quando è installata e attivata una infrastruttura IM come '''ibus''', le applicazioni per X puro (client XIM che sono stati progettati per ottenere l'input da tastiera dal server X attraverso la connessione X [[https://en.wikipedia.org/wiki/X_Input_Method|meccanismo XIM]]), come DebianPkg:xterm e DebianPkg:rxvt-unicode non comunicano direttamente con il server X per l'input da tastiera. Un'infrastruttura per IM, come '''ibus''' gestisce invece l'effettivo input da tastiera e passa i dati elaborati ai client X usando il protocollo XIM dal suo demone come '''ibus-daemon'''. Sfortunatamente, la combinazione di '''ibus''' con client XIM è difettosa per alcune (rare) sequenze da tastiera per inserire caratteri non ASCII. Sono stati segnalati bug persistenti riguardo questa combinazione, come discusso in [[https://bugzilla.redhat.com/show_bug.cgi?id=2013610|Red Hat Bugzilla – Bug 2013610]] e altrove. Rimanere il più possibile con una configurazione sicura. I programmi GTK e Qt correttamente configurati con DebianPkg:im-config non usano il protocollo XIM per comunica re con '''ibus-daemon''' e sono immuni a questi fastidiosi bug di questa combinazione. Per gli emulatori di terminale, usare uno qualsiasi di quelli moderni che usano GTK o Qt: * DebianPkg:gnome-console (comando '''{{{kgx}}}'''(1)) * DebianPkg:gnome-terminal * DebianPkg:Konsole * DebianPkg:xfce4-terminal * DebianPkg:lxterminal * ... Per '''emacs''' considerare l'uso di DebianPkg:emacs-nox in emulatori di terminale moderni o DebianPkg:emacs-gtk. (Cioè evitare DebianPkg:emacs-lucid se è attivato '''ibus'''. I bug di DebianPkg:emacs-gtk sembrano essere risolti.) Per i programmi come DebianPkg:gitk, considerare l'idea di evitare il più possibile di digitare sequenze problematiche per caratteri non ASCII. ==== Caso con infrastruttura per metodo di input disattivata ==== Se non si ha necessità delle funzionalità moderne di un'infrastruttura per IM, come '''ibus''', si può far sì che i client X comunichino direttamente con il server X configurato con [[https://en.wikipedia.org/wiki/X_keyboard_extension|X Keyboard Extension (XKB)]] disabilitando '''ibus''' con un comando tipo: {{{ $ im-config -n none }}} Questa soluzione può non funzionare in alcuni ambienti desktop se scavalcano '''{{{im-config}}}'''. È degno di nota come GNOME possa rientrare in questa tipologia. === Tastiera 109 giapponese === Per la tastiera per PC giapponesi, si seleziona il modello "{{{Generica 105 tasti PC}}}" e la tipologia di tastiera per lingua "{{{Giapponese"/"日本語}}}". Perciò si dovrebbe avere: {{{ XKBMODEL="pc105" XKBLAYOUT="ja" }}} (Non preoccuparsi del complicato problema del nome di nazione e lingua.) Importante è la variante della disposizione di tastiera. * Selezionando "{{{Giapponese}}}" / "{{{日本語}}}" si imposta {{{XKBVARIANT=""}}} * Selezionando "{{{Giapponese - Giapponese (OADG 109A)}}}" / "{{{日本語 - 日本語 (OADG 109A)}}}" si imposta {{{XKBVARIANT="OADG109A"}}} Probabilmente si ha una tastiera giapponese per PC moderna prodotta dopo il 2000 che ha sopra i tasti i nuovi simboli tipo OADG 109A. Anche in questo caso è una buona idea selezionare la semplice disposizione "{{{Giapponese}}}" / "{{{日本語}}}", si dovrebbe considerare di impostare: {{{ XKBVARIANT="" }}} Questo per il beneficio pratico di un più facile accesso a "{{{~}}}". Le sottili differenze tra queste varianti sono: * l'impostazione di {{{XKBVARIANT=""}}} produce "{{{~}}}" per "Maiusc-{{{0}}}". (Il vecchio simbolo OADG 109 sul tasto per "Maiusc-{{{0}}}" era segnato come "{{{~}}}") * l'impostazione di {{{XKBVARIANT="OADG109A"}}} produce "{{{0}}}" per "Maiusc-{{{0}}}". (Il nuovo simbolo OADG 109A sul tasto per "Maiusc-{{{0}}}" non è segnato) * entrambe le impostazioni producono "{{{~}}}" per "Maiusc-{{{^}}}". (Il vecchio simbolo OADG 109 sul tasto per"Maiusc-{{{^}}}" non era segnato. Il nuovo simbolo OADG 109A sul tasto per "Maiusc-{{{^}}}" è segnato come "{{{~}}}") Invece il motivo per usare 105 tasti e non 109 è che i 4 tasti aggiuntivi sono usati solamente per l'input giapponese e non sembrano essere tenuti di conto dato che non hanno effetto sulle mappature di tastiera. Per la storia da OADG 109 a OADG 109A, vedere [[https://ja.wikipedia.org/wiki/JIS%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89|JISキーボード]]. === GNOME molto vecchi (non è un problema alla data del 2022) === La disposizione della tastiera poteva essere cambiata in '''{{{Impostazioni -> Regione & lingua -> Fonti di input}}}'''. È anche possibile cambiarla dalla CLI usando dconf/gsettings, aggiungendo chiavi a '''{{{/org/gnome/desktop/input-sources/sources}}}'''. Per i rilasci più vecchi di stretch (inizialmente rilasciata nel 2018), queste disposizioni includono lingue e dialetti poco diffusi, oltre a configurazioni molto specifiche, e sono state normalmente nascoste nell'interfaccia di configurazione grafica per stretch (quando era testing?). L'unico modo per renderle visibili è abilitare l'impostazione corrispondente in gconf: {{{ $ gsettings set org.gnome.desktop.input-sources show-all-sources true }}} Per ulteriori informazioni su questo aspetto vedere [[https://bugzilla.gnome.org/show_bug.cgi?id=682240]]. ---- CategoryPortal | CategoryHardware