Come fare in modo che la virgoletta doppia si comporti come chiave morta tranne quando viene utilizzata in combinazione con se stessa


14

Quando uso una tastiera, mi aspetto i seguenti comportamenti (e mi affido a questi comportamenti):

  • Premere ", rilasciare" : dovrebbe ricordare la chiave come chiave morta
  • Premere ", rilasciare ", premere <space>, rilasciare<space> : deve stampare"
  • Premere ", rilasciare ", premere ", rilasciare" : deve stampare""

Capisco che questo comportamento è definito da un layout di tastiera, quindi ho fatto qualche ricerca.

Sul layout di tastiera "Inglese - Stati Uniti con chiavi morte", ottengo i primi 2 comportamenti che preferisco, ma l'ultimo comportamento non è soddisfatto e ottengo lo strano personaggio ¨quando lo provo.

Sul layout della tastiera "Inglese - USA con chiavi morte AltGr", ottengo solo l'ultimo comportamento, ma la chiave non si comporta più come morta.

Come posso modificare il layout della tastiera per soddisfare i 3 comportamenti che mi aspetto quando uso una tastiera?


Questa domanda sarebbe molto meglio con qualche motivazione.
— Giosuè,

Credo che la sua motivazione sia quella di evitare virgolette doppie non corrispondenti nei letterali a stringa. Sembra un po 'eccessivo per raggiungere questo obiettivo modificando il comportamento generale della tastiera - questo dovrebbe essere gestito dall'IDE utilizzato per qualsiasi scopo.
— teukkam,

2
@Joshua Nel mio paese, le persone cresciute con lezioni di computer su Windows, e questi comportamenti chiave sono le impostazioni predefinite su Windows nel mio paese. È davvero difficile cambiare un'abitudine che hai imparato 20 anni fa quando entrambi usi Ubuntu e Windows contemporaneamente. Su Windows il layout di tastiera con questo comportamento è chiamato "Inglese
— USA

Risposte:


12

Dopo aver provato diversi modi per questo problema, alla fine ho trovato una soluzione con l' aiuto nella chat per questo problema

La causa principale del problema è in realtà causata dal fatto che Linux non ha un dead_apostrophee un dead_quotedblper impostazione predefinita, quindi il "layout di tastiera morta" predefinito ha mappato una dead_acuteo una chiave non morta mappata ".

Ciò significa che questo problema non può essere risolto creando il tuo layout di tastiera personalizzato, come mi è stato suggerito nella chat.

Dopo ulteriori ricerche e il momento giusto per imparare nuove parole chiave da cercare, ho trovato questa soluzione su Unix e Linux StackExchange , cosa che mi ha aiutato a risolvere il problema.

Ho seguito i seguenti passaggi elencati in quella risposta:

  1. sudo apt install uim
  2. echo 'export GTK_IM_MODULE="uim"' >> ~/.profile
  3. echo 'export QT_IM_MODULE="uim"' >> ~/.profile
  4. curl 'https://gist.githubusercontent.com/guiambros/b773ee85746e06454596/raw/0ea6d7f7cf9a6ff38b4cafde24dd43852e46d5e3/.XCompose' > ~/.XCompose
  5. Configura il layout della mia tastiera su "Inglese (USA - intl con tasti morti)"
  6. Ubuntu riavviato (secondo i commenti, è sufficiente disconnettersi e accedere)

Dopo questi passaggi, sono riuscito a soddisfare le seguenti aspettative sulla mia tastiera:

  • Premere ", rilasciare" : dovrebbe ricordare la chiave come chiave morta
  • Premere ", rilasciare ", premere <space>, rilasciare<space> : deve stampare"
  • Premere ", rilasciare ", premere ", rilasciare" : deve stampare""

4
Per disconnettersi dalla sessione e riconnettersi dovrebbe essere sufficiente per rendere effettive le modifiche alla configurazione dell'utente. Non è necessario riavviare.
— David Foerster,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.