Enterキーを長押しするとコントロールキーとして機能します

Enterキーを長押しするとコントロールキーとして機能します

私は Emacs ユーザーですが、長押しの Enter キーを追加のコントロール キーとして使いたいと思っています。以前は、Mac OS で KeyboardRemap4Macbook を使用してこれを実行していました。しかし、Ubuntu Unity でこれを行う方法がわかりませんでした。これにより、左手の指がかなり節約されます :)

答え1

これはxcape(sudo apt-get install xcapeまたはgithubから)を使用することで解決しました -https://github.com/alols/xcape

README のスクリプトに従います。

# Map an unused modifier's keysym to the spacebar's keycode and make it a
# control modifier. It needs to be an existing key so that emacs won't
# spazz out when you press it. Hyper_L is a good candidate.
spare_modifier="Hyper_L"
xmodmap -e "keycode 65 = $spare_modifier"
xmodmap -e "remove mod4 = $spare_modifier" # hyper_l is mod4 by default
xmodmap -e "add Control = $spare_modifier"

# Map space to an unused keycode (to keep it around for xcape to
# use).
xmodmap -e "keycode any = space"

# Finally use xcape to cause the space bar to generate a space when tapped.
xcape -e "$spare_modifier=space"

これはディストリビューションに関係なく機能しました。これは一般的なソリューションなので、Ubuntu 17.04 以外にも Fedora 23 や Debian9 でも機能しました。ありがとうございます。

関連情報