UbuntuはGoogle SpreadsheetやLibreOffice CalcでCtrl+;を押しても日付を入力できない問題

Excelを使っている人であれば以下のショートカットは使いこなしていると思います。

現在の日付を入力Ctrl + ;
現在の時刻を入力Ctrl + :

Google SpreadsheetやLibreOfficeでは少し操作方法が異なり以下のショートカットを使います。

Google SpleadsheetLibreOffice Calc
現在の日付を入力Ctrl + ;Ctrl + ;
現在の時刻を入力Ctrl + Shift +;無し

ただ、Ubuntu22.04にアップデートすると"Ctrl + ;"で日付の入力ができずに下線付きのeが表示されるようになったので原因と対策を記載しておきます。

Ubuntu 22.04ではCtrl + ; で日付を入力できない

原因 : ibusでCtrl+;が定義されていてアプリケーションと衝突しているから

Ubuntuの文字入力は3つの階層で実現されています。

  • レベル1 IMF ・・・キーボードからの入力を受付け、IMEへ伝える。
    • ibus
    • fcitx
  • レベル2 IME ・・・キーボードから入力された記号を文字に変換する。
    • Mozc
    • Microsoft IME
    • Atok
    • kkc
  • レベル3 アプリケーション・・・アプリケーションごとの機能
    • いわゆるショートカットキー。F2でセルの編集など。

"Ctrl + ;"で日付を入力するという機能は本来はアプリケーションの機能です。

しかしUbuntuはIMFのibusでも"Ctrl+;"が使われていてLibreOfficeやGoogle Spleadsheetと衝突しています。

この場合、よりレベルの低いIMFレイヤが優先されてしまうので下線付きのeが表示されてしまう。というわけです。

ちなみにCtrl+;と衝突するのはibusの仕様で、fcitxを使用している場合はこの問題は起きません。

対策: ibusのショートカットキーの設定を変える

ibus-setupコマンドでibusの設定を変えましょう。

ibus-setupはユーザー権限で実行できます。

$ ibus-setup

ibusの設定画面が表示されたら「絵文字」タブを選択します。

するとControl semicolon(;)に絵文字ルビのショートカットが割り当てられていることがわかります。

ibusでControl + semicolonに絵文字ルビが割り当てられている

これが下線eの正体です。

この設定を削除することで衝突を避けることができます。

ibusの設定を変更することでCtrl+;の日付入力が有効になった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です