Jak sprawić, by podwójny cudzysłów zachowywał się jak martwy klucz, chyba że jest używany w połączeniu z samym sobą

14

Kiedy używam klawiatury, oczekuję następujących zachowań (i polegam na tych zachowaniach):

  • Naciśnij ", puść" : Powinieneś pamiętać klucz jako martwy klucz
  • Naciśnij ", zwolnij ", naciśnij <space>, zwolnij<space> : Należy wydrukować"
  • Naciśnij ", zwolnij ", naciśnij ", zwolnij" : Należy wydrukować""

Rozumiem, że to zachowanie jest zdefiniowane przez układ klawiatury, więc przeprowadziłem badania.

Na układzie klawiatury „Angielski - USA z martwymi klawiszami” dostaję 2 najlepsze zachowania, które wolę, ale ostatnie zachowanie nie jest spełnione, a ¨gdy próbuję, dostaję dziwny charakter .

Na układzie klawiatury „Angielski - USA z martwymi klawiszami AltGr” dostaję tylko ostatnie zachowanie, ale klawisz nie zachowuje się już martwy.

Jak mogę zmodyfikować układ klawiatury, aby spełnić 3 zachowania, których oczekuję, gdy używam klawiatury?

Ferrybig
źródło
To pytanie byłoby znacznie lepsze z pewną motywacją.
Joshua
Uważam, że jego motywacją jest unikanie niedopasowanych podwójnych cytatów w literałach łańcuchowych. Wydaje się to nieco przesadne, aby to osiągnąć, zmieniając ogólne zachowanie klawiatury - powinno to być obsługiwane przez IDE używane do dowolnego celu.
teukkam
2
@Joshua W moim kraju ludzie dorastali z lekcjami obsługi komputera w systemie Windows, a te martwe zachowania są domyślne w systemie Windows w moim kraju. Naprawdę trudno jest zmienić nawyk, którego nauczyłeś się 20 lat temu, kiedy jednocześnie korzystasz z systemu Ubuntu i systemu Windows. W systemie Windows układ klawiatury z takim zachowaniem nosi nazwę „angielski - my - międzynarodowy z martwymi klawiszami”
Ferrybig

Odpowiedzi:

12

Po wypróbowaniu różnych sposobów rozwiązania tego problemu, w końcu znalazłem rozwiązanie z pomocą na czacie dla tego problemu

Przyczyną problemu jest rzeczywiście spowodowane przez fakt, że Linux nie ma dead_apostrophei dead_quotedbldomyślnie, więc domyślne „nas martwy układ klawiatury” nie bądź zmapowali dead_acutelub non klucz martwy mapowany ".

Oznaczało to, że tego problemu nie można naprawić, tworząc własny niestandardowy układ klawiatury, jak sugerowano na czacie.

Po dalszych badaniach i dopiero nadszedł czas na naukę nowych słów kluczowych do wyszukiwania, znalazłem to rozwiązanie na StackExchange w systemach Unix i Linux , co pomogło mi rozwiązać problem.

Wykonałem następujące kroki wymienione w tej odpowiedzi:

  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. Skonfiguruj układ klawiatury na „angielski (USA - z martwymi klawiszami)”
  6. Zrestartowano Ubuntu (zgodnie z komentarzami wystarczy wylogowanie i zalogowanie)

Po wykonaniu tych kroków udało mi się spełnić następujące oczekiwania dotyczące mojej klawiatury:

  • Naciśnij ", puść" : Powinieneś pamiętać klucz jako martwy klucz
  • Naciśnij ", zwolnij ", naciśnij <space>, zwolnij<space> : Należy wydrukować"
  • Naciśnij ", zwolnij ", naciśnij ", zwolnij" : Należy wydrukować""
Ferrybig
źródło
4
Wylogowanie z sesji i ponowne zalogowanie powinno wystarczyć, aby zmiany w konfiguracji użytkownika zaczęły obowiązywać. Nie ma potrzeby ponownego uruchamiania.
David Foerster,