Як змусити подвійну цитату вести себе як мертвий ключ, за винятком випадків, коли вона використовується в поєднанні з самою собою


14

Коли я використовую клавіатуру, я очікую на наступну поведінку (і я покладаюся на цю поведінку):

  • Натисніть ", відпустіть" : повинен пам'ятати ключ як мертвий ключ
  • Натисніть ", відпустіть ", натисніть <space>, відпустіть<space> : повинен друкувати"
  • Натисніть ", відпустіть ", натисніть ", відпустіть" : повинен друкувати""

Я розумію, що така поведінка визначається розкладкою клавіатури, тому я провів деякі дослідження.

На розкладці клавіатури "Англійська - США з мертвими клавішами" я отримую 2 кращих поведінки, які мені більше подобаються, але остання поведінка не виконується, і я отримую дивний характер, ¨коли я намагаюся це зробити.

У розкладці клавіатури "Англійська - США з мертвими клавішами AltGr" я отримую лише останню поведінку, але клавіша більше не веде себе мертвою.

Як я можу змінити розкладку клавіатури, щоб виконати 3 поведінки, які я очікую, коли використовую клавіатуру?


Це питання було б набагато краще, якщо було б мотивація.
Джошуа

Я вважаю, що його мотивація полягає у тому, щоб уникнути невідповідних подвійних лапок у рядкових літералах. Здається, трохи досягти цього, змінивши загальну поведінку клавіатури - цим слід займатися IDE, який використовується для будь-яких цілей.
teukkam

2
@Joshua У моїй країні люди, які виросли на комп’ютерних заняттях на вікнах, і ця поведінка мертвих ключів є типовим для Windows у моїй країні. Насправді важко змінити звичку, яку ви дізналися 20 років тому, коли ви одночасно користуєтеся Ubuntu та Windows. У Windows розкладка клавіатури з такою поведінкою називається "Англійська - Нас - Міжнародна з мертвими клавішами"
Ferrybig

Відповіді:


12

Спробувавши різні способи вирішення цієї проблеми, я врешті-решт знайшов рішення з допомогою в чаті для цієї проблеми

Першопричину проблеми насправді спричинено тим, що в Linux за замовчуванням не існує dead_apostropheі dead_quotedblза замовчуванням, тому за замовчуванням "нам мертві розкладки клавіатури" відображено dead_acuteабо не мертвий ключ, на який відображено ".

Це означало, що цю проблему неможливо вирішити, створивши власну власну розкладку клавіатури, як я запропонував у чаті.

Після подальших досліджень і просто час вивчення нових ключових слів для пошуку, я знайшов це рішення на Unix & Linux StackExchange , що допомогло мені вирішити проблему.

Я дотримувався наступних кроків, перелічених у цій відповіді:

  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. Налаштуйте мою клавіатуру на "Англійська (США - intl із мертвими клавішами)"
  6. Перезавантажений Ubuntu (згідно з коментарями, виходу з системи та входу достатньо)

Після цих кроків мені вдалося виконати наступні очікування щодо моєї клавіатури:

  • Натисніть ", відпустіть" : повинен пам'ятати ключ як мертвий ключ
  • Натисніть ", відпустіть ", натисніть <space>, відпустіть<space> : повинен друкувати"
  • Натисніть ", відпустіть ", натисніть ", відпустіть" : повинен друкувати""

4
Для виходу з сеансу та входу в систему має бути достатньо, щоб зміни в конфігурації користувача набули чинності. Не потрібно перезавантажувати.
Девід Фоерстер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.