Scrivere caratteri Unicode - Esiste un modo unico su Windows e Linux?

Voi come scrivete i caratteri che non ci sono sulla tastiera?
Mi spiego meglio. Spesso mi trovo a dover scrivere determinati caratteri, che non esistono sulla tastiera. Ad esempio: È, É, `,~, ma anche emoji.

Usare la mappa caratteri è sicuramente utile, ma lento.
Su windows, negli anni, ho imparato alcuni codici a memoria, tipo Alt Gr + 127 per la tilde e Alt Gr + 96 per la backtick.

E su Linux?
Per fortuna molti di questi caratteri sono scrivibili direttamente dalla tastiera, come le lettere accentate, tilde e backtick, ma le Emoji?
Sulla mia Pop_!OS, esistono 2 modi per inserire emoji da tastiera:

  1. digitando ctrl+shift+u, entra in modalità inserimento codice unicode (che può fare aggiungere anche tutto il resto)
  2. digitando ctrl+shift+e+space, apre un menù a tendina per scegliere l’emoji.

Sicuramente preferisco il primo metodo che è più immediato e universale.

Però, l’inserimento del codice Unicode su Windows e Linux, ha una sostanziale differenza:

  • Windows accetta solo codici decimali
  • Linux accetta solo codici esadecimali (eccoci :laughing:!)

Quindi, ad esempio, per scrivere la tilde, se su Windows è Alt Gr+126, il 126 diventa in esadecimale 7E e digitando ctrl+shift+u+7E, su Linux avrete la tilde. Fico.

Imparare anche i codice esadecimali a memoria mi sembra l’unica strada, per avere un modo cross distro, per scrivere caratteri speciali su Linux con immediatezza.

Voi che metodo utilizzate? Esiste qualcosa che non conosco?

1 Like

La mappatura it di Microsoft è una schifezza totale da sempre e trovo scandaloso che un OS a pagamento di una multinazionale con un capitale incommensurabilmente enorme non riesca a dare agli italofoni una mappa decente.
Ovviamente questo non è il caso di macOS e degli UNIX-like con Xorg/Wayland, che hanno una mappatura enorme.

Se dovessi inserire la tilde nel modo che dici tu, mi sarei dato completamente ad altro, qualsiasi cosa che non contemplasse imparare numeri a memoria e combinazioni strane con la tastiera. Io, a parte caratteri davvero particolari, li inserisco con una combo di tasti, almeno tutti quelli in ASCII7 e le lettere accentate. Su Linux la tilde è home, su vim è case swap, non posso spendere 5 secondi per una tilde, sempre se mi ricordo il numero.

Arriviamo alla soluzione. Io uso gli UNIX-like così come sono, non hanno bisogno di grandi modifiche, sono fatti per essere usati dalle persone. Su Windows mi sono creato la mia keymap e la installo. Se ti interessa il software per le keymap è di Microsoft stessa e lo trovi qui.

Ci aggiungo che il comportamento che hai descritto è dovuto dall’IME, che in realtà non c’entra con la mappatura dei tasti ma è un input method, un layer sopra alla mappatura, molto utile per esempio per i linguaggi est asiatici. Nella fattispecie Pop_OS! utilizza ibus, che poi è il default di tutte le distro desktop che conosco.

Personalmente uso il layout americano (indicato con sigla us per intenderci), principalmente perchè è più comoda per programmare, quando mi servono caratteri particolari passo ad un layout diverso (ho una shortcut apposita).
Io mi trovo bene con l’americano internazionale (us intl.), in questo layout è possibile fare delle combinazioni per creare le lettere accentate.
Se voglio scrivere é scrivo prima apice e poi e, se voglio la É basta switchare la e piccola con la maiuscola.
Ovviamente si può usare il layout italiano come secondo, solo che passare da uno all’altro mi confonde non poco, inoltre il layout us intl. è più versatile, posso fare anche accenti che in italiano non si usano di solito î, ö, ũ.
Per chi è interessato:

  • Apice singolo => É
  • Backtick ` => È
  • Caret ^ => Ê
  • Doppio apice " => Ë
  • Tilde ~ =>
1 Like

Non hai specificato su che OS. La compose key su Linux la puoi impostare molto facilmente, ho tralasciato la funzionalità perché dipende dall’OS. Forse sul software che ho linkato c’è il modo di impostarlo anche su Windows ma così su due piedi non ricordo.
Comunque a me non piace US perché si aspetta un layout ANSI e quindi va a duplicare un tasto sul tasto di fianco allo shift sinistro (quello di < e > per intenderci), preferisco quello UK che è ISO.
Se devi scrivere tanto in italiano e sei già navigato con la IT, IT è sicuramente il layout migliore, visto che in italiano usiamo un bel po’ di accenti.
Solitamente io uso US perché tanto ho una custom a 42 tasti e ho personalizzato tutti i layer direttamente dal firmware. Ma questa è una scelta estremamente personale che in pochi sono disposti a fare.

Vero hai ragione non ho specificato piattaforma e software.
Questa approccio l’ho usato su tutti i main os: windows, mac (che per fortuna non devo più usare) e linux.
Per quanto riguarda il software uso quello built-in del sistema, su linux xkb_layout (su x11) e swayinput su sway (wayland), su windows e mac non so come si chiama però dalle tab impostazioni è facile da recuperare.

PS: che tastiera hai? sono abbastanza infognato sulle tastiere ed ora sono curioso.
PS2: come ti trovi con 42 tasti? sulla mia ne ho 56 ed ho paura a scendere sotto questa soglia

Ho una corne cherry hotswappable che uso ormai da anni. Mi trovo da dio e molti tasti li uso di rado perché preferisco usare i layer e tenere le mani nella stessa posizione. Non sono per nulla fissato con la velocità ma comunque non scendo sotto le 120wpm (sono una pippa a scrivere in inglese e in italiano non ho le lettere accentate senza compose key, che è più lenta), che comunque è un buon risultato se metti che l’ho scelta per la comodità e non per speedtyping. Ovviamente senza touchtyping non vai da nessuna parte, mi pare ovvio. Il mio workflow è un terminale e firefox, nient’altro, quindi il touchpad lo uso solo per il browser. Ovviamente un po’ di tempo con qmk ce lo devi perdere e anche un paio di settimane a tornare alla tua velocità originale, però quando poi vuoi personalizzarla il firmware te lo programmi come ti pare e qmk ha delle features che non trovi in nessuna tastiera commerciale.

1 Like

Top, pure io uso una split, ho una tractyl manuform così evito pure il problema del mouse :wink:.
Vorrei provare a diminuire il numero di tasti, non tanto perchè non li uso ma perchè noto che devo “allungare” molto le dita per arrivare ad alcuni, tipo la riga dei numeri.
Se riesco a trovare un pcb della corne a poco la proverò :+1:

PS: come ti trovi a swappare tra corne e la tastiera del laptop? Con la tractyl non noto troppo la differenza, sistemazione dei tasti a parte l’unica differenza è la mancanza della row F1-F12 (che ho su un layer), però la corne lo stacco mi sembra molto più netto

1 Like

Io a ste tastiere deformi non ci ho mai creduto sinceramente, puoi inventarti ciò che vuoi ma non stai piegando lo spazio, i limiti fisici rimangono. Poi la trackball no. Piuttosto mi bindo un layer per muovere il cursore dalla tastiera che usare quella roba. Io ho un Magic Trackpad 2 in mezzo ai 2 pezzi, fine della storia. Posso fare anche le gesture per tornare indietro nel browser, visto che lì il mouse lo devi usare, o cambiare workspace. Tieni in conto che posso usarlo col pollice se devo fare cose semplici o semplicemente ruotare la posizione della mano facendo perno sul polso.
I numeri ce li ho nella stessa posizione ma sostituiscono la prima riga di lettere quando attivi il layer, ti ci abitui subito perché più sopra di quello non c’è nulla.
Una cosa figa, invece, è che ho Tab e Ctrl sullo stesso tasto, one tap è Tab, long press è Ctrl, one tap + long press ti spamma Tab. Sulla ISO ho sempre avuto Capslock rimappato a Ctrl, quindi non ho avuto problemi.
I tasti F non so per cosa li usi sinceramente, ma dovrebbero essere vietati per leggere, per quella volta all’anno che li uso ho un layer che si attiva col pulsante del pollice più scomodo che ho.
La memoria muscolare è dura a morire, fai prima a dimenticarti come ti chiami, uso corne US e ISO it esattamente come le ho imparate.

Stiamo andando un pò fuori tema, magari apriamo un’altro topic.
Comunque per le tastiere ricurve non ti saprei dire, mi ci trovo stra bene ma è anche vero che non ho mai usato un’altra split non curva, diciamo che di sicuro cattura l’attenzione (che l’ultima ragione per provare una tastiera).
I tasti F li uso molto purtroppo, lavoro su una codebase java (ancora per poco) di merda, ma veramente la monnezza della monnezza, figurati che non abbiamo test ma quando esce un bug dobbiamo seguire il codice in debug e trovare il problema, praticamente uso F{5,6,7,8} più del e punto e virgola.

1 Like

Siete decisamente OT! :sweat_smile:

Le lettere accentate su un layout non italiano hanno lo stesso problema di scrivere una emoji.
Fatte salve le soluzioni che ogniuno può configurare sulla propria macchina, la ragione del post era:

  • condividere che il medesimo carattere Unicode si scrive in decimale e esadecimale sui diversi sistemi.
  • trovare una soluzione che vada bene su ogni sistema, per qualsiasi pc vi troviate davanti.

Le emoji sono quelle più macchinose da scrivere su un pc rispetto ad uno smartphone e ancora non c’è una soluzione built in, se non appunto imparare il codice Unicode a memoria (soluzione che non mi dispiace a questo punto).

Il problema resta per la doppia codifica esadecimale/decimale, se il sistema accetta l’altra base. Ovvero, sarà possibile su Linux, inserire il codice in decimale o su Windows inserirlo in esadecimale, con strumenti del sistema operativo? Pare di no :relieved:

Ti propongo questa idea, non ti posso garantire sulla fattibilità ma a pensarci non dovrebbe essere troppo troppo complesso.

Perché non ti scrivi un programma multi-platform che ti risolve questo problema andando ad astrarre il carattere dalla specifica rappresentazione del sistema operativo?

Se ho capito bene il problema è che i caratteri, che siano accenti, emoji, o altro, sono rappresentati in modi diversi tra windows e linux, e quindi non c’è un modo uniforme per poterli scrivere.

Perfetto, perché allora non crearsi un piccolo programma che ti astrae una piccola porzione di caratteri, quelli che interessano a te. Il programma quando viene lanciato dovrebbe semplicemente mostrare una lista di possibilità, diciamo per ogni carattere di interesse scegli un label tuo, e quando lo lanci ti selezioni il label di interesse nel momento, eventualmente con autocompletamento, premi invio, o comunque un keybind per segnalare la selezione, e lui ti copia nella tastiera il codice che rappresenta quel carattere. Internamente la logica del programma deve capire il sistema operativo su cui sta girando (win o linux) e darti la giusta rappresentazione del carattere. Funzionerebbe anche semplicemente da linea di comando.

Sarebbe un side-project utile per approfondire:

  • Gestione progetto multi-platform
  • Codifiche e rappresentazioni

Ora personalmente non ho questo tipo di problema, quindi non ho mai sentito il bisogno di risolverlo. Utilizzo layout IT e ogni tanto swappo a quello UK, ma raramente. Le emoji le uso molto poco. Tendo ad essere molto minimalista nei caratteri, e in realtà la maggior parte del contenuto che scrivo è in inglese, ma il layout IT funziona bene comunque. L’inglese è molto minimale come lingua in terimne di alfabeto e accenti.

Però ecco fondamentalmente l’idea è che quando le piattaforme ci limitano in questo modo, molto spesso la soluzione più fattibile è quella di scrivere del codice e di implementare una logica custom in modo da “colmare” le lacune degli strumenti già esistenti.

Qualche reference di cose simili (non proprio uguali perché sono platform-dependent):

1 Like