Перетворіть звичайний ключ у модифікаційний ключ


11

У мене є клавіатура, яка з незрозумілої причини містить клавішу, яка надсилає символ датського долара в ОС X - §. Зі зміщенням він надсилає символ плюс / мінус - ±.

Чи можна в Emacs побачити §ключ і перетворити його в Hyper або Super? Тож якщо я утримую цю §клавішу і натискаю f, вона активується H-fв Emacs.

Я спробував таке, що не працює:

(define-key key-translation-map (kbd "§") (kbd "<Hyper>"))

Він просто говорить <Hyper> is undefinedпісля натискання клавіші і зовсім не діє як модифікатор.

Це також не працює:

(define-key key-translation-map (kbd "§") "<Hyper>")

що просто перетворює §ключ на <ключ.



2
Ви повинні мати можливість це робити на рівні ОС, але не в emacs.
— Малабарба

Відповіді:


4

Коротка версія : з точки зору Emacs, мені дуже потрібні клавіші-акорди .


@Malabarba і @XinUmbralis здаються правильними - Emacs не дозволяє нормально перетворити звичайну клавішу на модифікатор. Мені не дуже подобається ідея поєднувати кожну модифікаційну клавішу на клавіатурі та називати її "Hyper", оскільки це може конфліктувати з іншими речами в майбутньому.

Я вже використовую Karabiner, і, мабуть, ви можете створити спеціальні модифікатори за допомогою нього. Але для цього потрібне відображення кожної комбінації на рівні ОС, щоб, скажімо, §-aнадсилати щось, з чим Emacs вміє впоратися.

Тоді я згадав бібліотеку акордів ключів і зрозумів, що це справжня терміналогія Emacs для того, чого я хотів. Приклад конфігурації:

(require 'key-chord)
(key-chord-mode 1)
(key-chord-define-global "§a" 'other-frame)

Єдине питання, що виникає у мене з ключем-акордом, полягає в тому, що семантика клавіш-акорда трохи відрізняється від модифікатора + клавіша - повторення не дозволено, і весь акорд потрібно вводити дуже швидко.

Якщо я знайду рішення цих проблем, я напишу про це десь і надам посилання в редакції на цю відповідь.


3

Ви можете або не зможете повторно зв’язати клавішу знаку розділу (клавіша §) для надсилання гіперкоманди, проте ви можете повторно зв'язати клавішу cap -lock для надсилання Hyper, використовуючи Seil PCKeyboardHack .

Для того, щоб відновити ключ Caps-Lock у Seil, просто виконайте наступне:

  1. Відкрийте Seil та натисніть "Змінити клавішу блокування шапки".
  2. Установіть прапорець біля пункту "Змінити клавішу блокування заглушок".
  3. Двічі клацніть на клавішному коді та введіть код 80.

1
Ця відповідь, мабуть, була б кращою як коментар. Загалом, відповіді мають більше, ніж надавати посилання, частково тому, що посилання можуть зникнути в будь-який час. Чи можете ви відредагувати свою відповідь, щоб зробити її більш самодостатньою?
— Дан

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