質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

意見交換

クローズ

2回答

1033閲覧

Mozcで英語キーボードの日本語入力と英語入力をcapslockできりかえたいができない

ffff0710

総合スコア0

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2023/11/05 05:50

編集2023/11/06 01:37

0

0

なぜプログラミングやITエンジニアリングに関係のある質問なのか

Mozcは、Googleが開発したオープンソースの日本語入力メソッドエディター(IME)であり、特にLinuxシステムでよく使用されます。キーボードのレイアウトや入力モードの切り替えに関する質問は、ソフトウェアのカスタマイズや設定の調整に関連しており、これらは典型的にはIT専門家やプログラマーが扱うものです。

実現したいこと

capslockで日本語入力と英語入力をきりかえたい

試したこと

CAPSLOCKキーを押す前

CAPSLOCKキーを押したあと
MozcのキーボードのショートカットでIME有効化とIME無効化のところにcapslockキーを割り当てようとしたのですが押しても何も出ず割り当てることができません。

イメージ説明
GNOME Tweakを開き、「キーボードとマウス→キーボード→追加のレイアウトオプション」を選択します。
「その他の互換性に関するオプション」を開き、「Both Shift together enable Caps Lock」にチェックを入れます。これらの設定を行った後、システムを再起動すると、Caps Lockキーで日本語モードと英語モードにきりかわりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答2

#1

ujimushi_sradjp

総合スコア2179

投稿2023/11/17 13:46

英語キーボードで,Wayland,Xどちらの環境でもCapsLockキーをHyperキーにうまく置き換える設定を探していて,うまく見つかったので気分よいついでに,めんどくさそうな質問の答えを考えてみました。

まず,前提として日本語入力をibus-mozc(fcitx5-mozcを代わりに入れていない状態)とします。
fcitx5-mozcならもっと簡単な別解もありそうですが,私は使ったことはないので教えられませんのであしからず。

この状態でmozcの機能に設定できるショートカットは私の経験ではかなり限られています。

まず,明らかに設定できないキーから

  • モディファイアキー単体
    Shift,Ctrl, Alt(Meta),Super(Windowsキー),Menuキー,Caps Lock,Key Padなど
  • Shift,Ctrl以外でのコンピネーション,(Alt + `,Super + 何とか など)
  • OS(Ubuntu)側で設定されているキーのコンビネーション
  • Ctrl + Shiftなど,二つのコンピネーションで入力されるキー入力
  • Shift + 英字キー

と,まぁほとんどのキーはショートカットに設定できません。
当然,CapsLockは設定できないので,本気で設定するためには

  1. Shift + F12等のショートカットをmozcの切り替えに登録
  2. Caps Lockを押すと1.のショートカットが入力されたことにする

のような形で,二段階にするのが定石ではないでしょうか?

まずは設定できるショットカットを登録します。
今回はShift+F12にします。
ショートカット設定例

設定を反映させるため一度,ログアウトして再ログインします。
Shift+F12でIMEの状態が切り替わることを確認しておきます。

次に,input-remapperというソフトをインストールします。キーのカスタマイズツールです。

sudo apt install input-remapper

でインストールします。

input-remapperを起ち上げます。sudoのパスワードを聞かれるので入力します。

立ち上がったらまず,Deviceから使っているキーボードを選び,
Presetの名前でも変更します。RenameのところにCapsLockIMEとでも入力して[↓]ボタンを押して,
Presetの名前を変更します。
プリセットリネーム

続いて,右側のCange Keyのところを左クリックしてから「Caps Lock」キーを押します。
すると,中央上のところに「Caps Lock」が強調され,Change Keyの下に入力できる項目が出てくるので,
先ほど設定したShift_L+KEY_F12を入力します。入力途中で候補が出てくるので,楽に入力できると思います。

この状態で,左側Applyを押すと,Caps LockキーでIMEが切り替わるはずです。
右上のStop Injectionでキーの置き換えを停止できます。

左下のAutoloadをトグルすると,自動で有効になるのだと思います。

イメージ説明
なお,画像の方は自分の環境ではCapsLockHyperなので,本来はここがCapsLockと表示されると思います。

質問に書いてある内容について

  • MozcはIT専門家やプログラマーでなくてもLinuxを業務で使っている日本の方ならだいたい使っているので,そんなに大層なことかなぁと私は思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

ujimushi_sradjp

総合スコア2179

投稿2023/12/11 13:17

質問者の方はおそらく【よもやま話】Linux(Mozc)でもCaps Lockキーで日本語入力モードにする話を参考にして設定したのだと思いますが,この設定でうまくいくのは日本語キーボードだけです。
その理由について説明します。

日本語キーボードの場合,WindowsではCAPS LOCKをそのまま押した時に英数キーに割り合てられ,純粋なCAPS LOCKの機能はShift+CAPS LOCKの入力で実行されます。

一方,Ubuntuでは日本語キーボードの設定にすると,CAPS LOCK英数キーが割り振られるものの,更にその上から「CAPS LOCKキー単独」に「CAPS LOCKの機能」が上書きされます。

そのため,Ubuntu標準ではWindowsと違いCAPS LOCK単独で「CAPS LOCKの機能」を実行(USキーボードと同じ挙動)します。

参考記事のようにTweaksの「Both Shift together enable Caps Lock」にチェックを入れると,Windowsと同じく「Shift+CAPS LOCK」で「CAPS LOCKの機能」を実行することとなり,日本語キーボード設定の「CAPS LOCK単独が英数キー」という設定が前面に出てきます。

そこで,Mozcの設定で「Eisu」にIME切り替えを割り当てるとうまく機能するのです。

USキーボード配列設定には元々「Eisu」キーの割り当てがないので,「Both Shift together enable Caps Lock」にチェックを入れると,
Shift+CAPS LOCK」で「CAPS LOCKの機能」を実行することとなるため,
CAPS LOCK単独入力では無割り当てとなり,何も機能しないということになります。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問