Установить домашний ключ, чтобы действовать как супер?

У меня есть клавиатура кинези и хотелось бы, чтобы домашний ключ действовал как супер в emacs, не требуя, чтобы я переназначил клавиатуру, а также отредактировал мои привязки клавиш. Есть ли простой способ сделать это?

7
Я думаю, что это выполнимо (kinda) через key-chord . @glucas
добавлено автор CodingWithoutComments, источник
Насколько я знаю, вы не можете превратить любой произвольный ключ в ключ-модификатор в Emacs - вам нужно будет пересмотреть ключ на уровне ОС. См. Соответствующий вопрос emacs.stackexchange.com/questions/3272/… .
добавлено автор J.R., источник
Ваша цель использовать существующие суперсвязывания? Как отметил @Gilles с клавишей-аккордом, вы можете переопределить любые суперсвязывания для достижения аналогичного эффекта. Хотя вы также можете просто сделать ключ для префикса своей собственной ключевой картой, если вам действительно не нужно вести себя как настоящий модификатор.
добавлено автор J.R., источник

1 ответы

Самое близкое к решению, которое я знаю, это сделать следующее:

(define-key key-translation-map (kbd "") #'event-apply-super-modifier)

Это не довольно то же самое, что включение home в super . В частности, если вы нажмете home , отпустите его, а затем нажмите, например. a , Emacs будет интерпретировать его как s-a , даже если вы выпустили home , прежде чем нажимать a .

Это не обязательно плохо (на самом деле, он может иметь эргономические преимущества), но это может быть не то, что вы хотите (и может быть немного странно, что этот модификатор работает таким образом, если вы не настроите остальные вести себя одинаково).

Конечно, есть и функции event-apply - * - modifier для других модификаторов. Модификаторы, которые применяются к ключам после их выпуска, иногда называются «липкими модификаторами» .

6
добавлено