0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu + Apple フルキーボードにおいて、xmodmap で「テンキーのカンマ」を入力できるようにする

Last updated at Posted at 2024-08-17

やりたいこと

Ubuntu + Apple フルキーボードにおいて、udev + xremap + xdotool で「テンキーのカンマ」を入力できるようにする」と同じ。Appleの日本語フルキーボードで「テンキーのカンマ」を入力できるようにしたい。

上記記事でも実現できるが、そうとう捻じくれた方法なのと、xdotoolを介するので、少々打鍵がもたつく。

そういえば、xmodmapもあったな、とxmodmapで「テンキーのカンマ」を実装する。

Ubuntu 22.04および24.04で確認した。

xmodmapの準備

vi ~/.xmodmap
~/.xmodmap
keycode 129 = KP_Separator

以下で確認。

xmodmap ~/.xmodmap

xmodmap.desktopで永続化

ファイルに実行権限を与える。

chmod +x ~/.xmodmap

autostartディレクトリがなかったら作る。

vi ~/.config/autostart/xmodmap.desktop

USERNAMEの部分は自分の環境に合わせること。

~/.config/autostart/xmodmap.desktop
[Desktop Entry]
Name=run xmodmap at startup
Exec=xmodmap /home/USERNAME/.xmodmap
Type=Application

再起動して確認。

xmodmap.desktopで永続化がうまく行かない場合

理由はよくわからないのだけど、試行錯誤しても.config/autostartでうまく行かない場合がある。その場合は、Ubuntuの「自動起動するアプリケーション」を使う。

vi ~/.xmodmap.autostart.sh
~/.xmodmap.autostart.sh
#!/bin/bash           
sleep 3;
xmodmap ~/.xmodmap

ファイルに実行権限を与える。

chmod +x ~/.xmodmap.autostart.sh

Ubuntuの「自動起動するアプリケーション」に/home/YOURUSERNAME/.xmodmap.autostart.shを登録する。

再起動して確認。

マシンスペックによるのかもしれないけど、これでもうまく行かない場合は、sleepの長さを増やすとうまく行くことがある。

どうやら、Ubuntuの起動プロセスでxmodmapがibusの起動より早いとibusがxmodmapを上書きしてしまうらしい(詳しくは未確認)。ので、sleepでもろもろ起動しあとにxmodmapが動くようにすると良いらしい。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?