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.