Ubuntu Settings -- US キーで Mac のように ctrl space の英かな切り替えと ctrl h などでの削除ができるようにする。
Tags: ubuntu, mozc, uskeyboard, japanese
Published: 2022-06-11 11:57:00


## Why

起動した Ubuntu で

- US キーボード
- 日本語
 
これらが使えなかった。
インストールするときにちゃんと選択したにもかかわらず。
なのでそれを解決した。

Version は 20.04
ハードは Thinkpad t14s


---

## ibus-mozc の再起動

https://novicengineering.com/ubuntu_mozc_install/

novice engineering さんの記事を参考にすると

もずくちゃんこと Mozc をインストールすれば解決するようだった。

```php
sudo apt install ibus-mozc

ibus-mozc is already the newest version
(2.23.2815.102+dfsg-8ubuntu1).
```

apt で入れようとすると、最新が入っていた。

```php
ibus restart
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'jp'), ('ibus', 'mozc-jp')]"
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p33ygc4pfqbi8hk93x6d.png)
 

なので再起動して、gnome-settings に 
ibus の mozc-jp を追加した。

右上の Mozc のモーダルを毎回クリックして開くことで、
英語とかなを切り替えることができるようになった。

これで日本語は打てるようになった。

しかし、Alt ~ を押しても入力ソースが切り替わらなかった。
コマンドでらくに切り替えられるようにしたいよなぁ？

---

## Ctrl Space で入力ソースをきりかえられるようにする

そもそもデフォルトでは切り替えボタンが機能していない。

https://magidropack.hatenablog.com/entry/2019/01/05/174048

magid ropack さんの記事を参考にして

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7vsajnxozenqfmnec7lf.png)

Settings/Keyboard Shortcuts/Typing

を開いて

Switch to next input source を

Ctrl Space に設定する。

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/79bs6oetcgj256tk0lzt.png)

Ctrl Space で英かなの切り替えができた！
中央にでるので Windows ライクだ。

これで、英語も日本語もスムーズに打てるようになった。

しかし、この状態では US キー特有の配列

~, +, [], \,
〜、＋、「」、￥、

これらを入力できない。

---

## Settings/input sources を Japanse(Mozc) と English のみにする

https://qiita.com/AnchorBlues/items/beeb40593fd4c579dbe5

Anchor Blues さんの記事にヒントが書いてあった。

日本語と書いてある入力ソースを英語にすればよいのだ。

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wzaa0r6irvsdq9bcjq98.png)
 
Settings/input sources を Japanse(Mozc) と English のみにする

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hxr7kb0h70z7nboxku2e.png)
 

これで、英語もかなを完璧にトグルできるようになって

英語のときは、~, +, [], \,
日本語の時は、〜、＋、「」、￥、

これらをちゃんと入力できるようになった。


---

## /etc/default/keyboard の XKBOPTIONS を書き換えて caps を ctrl  にする

ctrl space で英かなを切り替えられるようになったが、
ctrl は左下のかなり遠い位置なので取り回しが悪い。

なので A の隣のゴールデンポジションにいる
caps キーを ctrl で潰す。

https://linux.just4fun.biz/?Ubuntu/Caps-Lock%E3%82%AD%E3%83%BC%E3%82%92Ctrl%E3%82%AD%E3%83%BC%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

Linux Just 4 Fun さんの記事を参考にする

```php
vi /etc/default/keyboard
```

これを開くと
RO になり

```php
XKBLAYOUT=us
BACKSPACE=guess
```

X システムだから X なのか？
キーボードレイアウトと
バックスペースの振る舞いが書いてあった。

これを sudo で開き直し

```php
XKBOPTIONS="ctrl:nocaps"
```

キーボードオプションで ctrl を caps にする
コードを書く。

そして、再起動すると A の左の caps と space で
英かながトグルできるようになった！！！完璧！！！

---

## Gnome Desktop Interface のテーマを Emacs にすることで ctrl h などを実現する

これで、ほぼ Mac の US キーと同じように作業できるようになった。

一方

Ctrl h を BackSpace で上書きする

これはまだ残っているので解決する。

https://shnsprk.com/entry/2020/04/08/090000

shnprk さんの記事を参考にする

```php
gsettings set org.gnome.desktop.interface gtk-key-theme Emacs
```

これで 

ctrl h, d での前後削除

ctrl k でのカーソルの最後の一括削除

ctrl f, n, p, a, e, でのカーソル移動

これらがすべて適用できた。

ctrl w x 2 で カーソル左のワード削除もできる。

---

## まとめ

Mozc の起動で日本語入力を実現した。

Settings/Keyboard Shortcuts/Typing を変えて
ctrl space で入力を書き換えられるようにした。

Gnome Desktop Interface のテーマを Emacs にすることで ctrl h などを実現した。