Как мне переназначить ctrl-j в ctrl-c в Ubuntu?

1288
Dane O'Connor

Я пытаюсь переназначить кучу своих ключей, и у меня проблемы. В настоящее время я пытаюсь использовать xmodmap, но не удается. Может быть, есть лучший способ?

Может кто-нибудь объяснить, как я могу лучше переназначить Ctrl- jна клавиатуре для производства Ctrl- c?

Это не так просто, как просто сделать j= c. Я хочу, чтобы это случилось только тогда, когда я удерживаю ctrl.

1

2 ответа на вопрос

1
Gabe

The short answer: you can't.

What happens when you press Ctrl+j is that you get a sequence of events:

  1. "Ctrl key pressed"
  2. "J key pressed (Ctrl held)"
  3. "J key released (Ctrl held)"
  4. "Ctrl key released".

With tools like xmodmap, you can change which physical key corresponds to "Ctrl" and "J" (strictly: which keysyms are mapped to which key), but you can't influence just the combination.

What you could do is try to intercept the keystrokes and atrificially emit others; in this case:

  1. "Ctrl down" - pass through
  2. "J down (Ctrl held)" - replace with "K down (Ctrl held)"
  3. "J up (Ctrl held)" - replace with "K up (Ctrl held)"
  4. "Ctrl up" - pass through.

I understand there's at least one set of tools (xbindkeys and xmacro) that should allow you to do this, but I haven't tried them myself, and learning how to do this may leave you without the ability to enter a "J", so do it with care (and make sure you can reboot into a default state until you're happy with the result). I found the tool description here.

-1
Ice

Для этого существует инструмент под названием горячие клавиши, который можно найти в репозиториях Ubuntu.

Попробуйте использовать инструмент «горячие клавиши» (чтобы найти в репозиториях Ubuntu). Ice 14 лет назад 0