変換・無変換キーのFnキー化について(Ubuntu)

Ubuntuでの変換・無変換キーのFn化について

 
Windowsでは「AutoHotkey」を使ってキーバインドの変更をしていたが(過去の記事”AutoHotkeyの設定について“参照)、Ubuntuでも同じように変換・無変換キーをFn化するときのメモ。

xkbの設定

 
色々と試行錯誤をした結果、「Caps Lock」を修飾キーに設定し「変換」「無変換」に「Caps Lock」を割り当てることで、この両キーを「Fn」化することにした。「Fn」キーとの組み合わせの設定は以下のとおり。

「Fn」+「I」⇒「↑」
「Fn」+「K」⇒「↓」
「Fn」+「J」⇒「←」
「Fn」+「L」⇒「→」
「Fn」+「1」⇒「F1」
「Fn」+「2」⇒「F2」
「Fn」+「3」⇒「F3」
「Fn」+「4」⇒「F4」
「Fn」+「5」⇒「F5」
「Fn」+「6」⇒「F6」
「Fn」+「7」⇒「F7」
「Fn」+「8」⇒「F8」
「Fn」+「9」⇒「F9」
「Fn」+「0」⇒「F10」
「Fn」+「-」⇒「F11」
「Fn」+「^」⇒「F12」
「Fn」+「BS」⇒「Del」
「Fn」+「Esc」⇒「全角/半角」
「Fn」+「↑」⇒「PgUp」
「Fn」+「↓」⇒「PgDn」
「Fn」+「←」⇒「Home」
「Fn」+「→」⇒「End」
「Fn」+「H」⇒「Home」
「Fn」+「E」⇒「End」
「Fn」+「U」⇒「PgUp」
「Fn」+「D」⇒「PgDn」
「Fn」+「B」⇒「Pause」
「Fn」+「P」⇒「PrintScreen」
「Fn」+「S」⇒「ScrollLock」
「Fn」+「O」⇒「Ins」

 

compatの設定

 
『~/.xkb/compat/mycompat』を作成し、以下のように記述。

xkb_compatibility “caps_lock” {
interpret Caps_Lock { action = SetMods(modifiers=Mod5); };
};

keycodesの設定

 
『~/.xkb/keycodes/mykeycodes』を作成し、以下のように記述。

xkb_keycodes “mycodes” {
<NFER> = 102; // Muhenkan
<XFER> = 100; // Henkan
};

typesの設定

 
『~/.xkb/types/mytypes』を作成し、以下のように記述。

xkb_types “caps_lock” {
type “CAPS_LOCK” {
 modifiers = Shift+Control+Mod5;
 map[Shift] = Level2;
 map[Mod5] = Level3;
 map[Mod5+Control] = Level3;
 map[Mod5+Shift] = Level3;
 map[Mod5+Shift+Control] = Level3;

 preserve[Mod5+Control] = Control;
 preserve[Mod5+Shift] = Shift;
 preserve[Mod5+Shift+Control] = Shift+Control;

 level_name[Level1] = “Base”;
 level_name[Level2] = “Shift”;
 level_name[Level3] = “Caps_Lock”;
 };
};

symbolsの設定

 
『~/.xkb/symbols/myswap』を作成し、以下のように記述。

partial modifier_keys
xkb_symbols “swapkeys” {
replace key { [ Caps_Lock ] };
replace key { [ Caps_Lock ] };
};

『~/.xkb/symbols/mysymbols』を作成し、以下のように記述。

xkb_symbols “caps_lockkeys” {
key.type = “CAPS_LOCK”;
 key { [ s, S, Scroll_Lock ] };
 key { [ d, D, Next ] };
 key { [ h, H, Home ] };
 key { [ j, J, Left ] };
 key { [ k, K, Down ] };
 key { [ l, L, Right ] };
 key { [ e, E, End ] };
 key { [ u, U, Prior ] };
 key { [ i, I, Up ] };
 key { [ o, O, Insert ] };
 key { [ p, P, Print ] };
 key { [ 1, exclam, F1 ] };
 key { [ 2, quotedbl, F2 ] };
 key { [ 3, numbersign, F3 ] };
 key { [ 4, dollar, F4 ] };
 key { [ 5, percent,F5 ] };
 key { [ 6, ampersand, F6 ] };
 key { [ 7, apostrophe, F7 ] };
 key { [ 8, parenleft, F8 ] };
 key { [ 9, parenright,F9 ] };
 key { [ 0, 0, F10 ] };
 key { [ minus, equal, F11 ] };
 key { [ asciicircum, asciitilde, F12 ] };
 key { [ BackSpace, BackSpace, Delete ] };
 key { [ Escape, Escape, Zenkaku_Hankaku ] };
};

keymapの設定

 
『~/.xkb/keymap/mykbd』を作成し、以下のように記述。

xkb_keymap {
 xkb_keycodes { include “evdev+aliases(qwerty)+mykeycodes(mycodes)” };
 xkb_types { include “complete+mytypes(caps_lock)” };
 xkb_compat { include “complete+japan+mycompat(caps_lock)” };
 xkb_symbols { include “pc+jp+inet(evdev)+myswap(swapkeys)+mysymbols(caps_lockkeys)” };
 xkb_geometry { include “pc(pc105)” };
};

【参考】現状のkeymapを『setxkbmap -print』で確認し、それぞれに先に作成した設定をincludeした。

設定の反映

 
ターミナルより以下にて設定を反映。

xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY

入力メソッド切替時のリセットを回避

 
設定を反映後、入力メソッドを切り替えるとリセットされてしまうことから、『dconf-editor』より『/org/gnome/settings-daemon/plugins/keyboard/active』の値を『0』とする。

設定の自動起動

 
ログイン時に設定が自動起動するように設定。

  • 『~/bin/load_xkbmap.sh』を作成し以下を記述。

    #!/bin/sh
     if [ -s $HOME/.xkb/keymap/mykbd ]
      then
      sleep 1
      xkbcomp -I$HOME/.xkb $HOME/.xkb/keymap/mykbd $DISPLAY 2>/dev/null
     fi

  • スクリプトに実行権限を付ける:$ sudo chmod +x ~/bin/load_xkbmap.sh
  • 自動起動を設定:$ gnome-session-properties [適当に名前をつけて、コマンド『/home/…/bin/load_xkbmap.sh』とする]
最後に

しばらくして、”Fn(変換/無変換)”+”P”に割り当てた”PrintScreen”が機能していないことに気づいた。他の割り当ては全て問題ないようなのでこのまま使ってみて、「P」への割り当てについては今後調べてみようと思う。

 
 
スポンサーリンク

FirefoxでGoogle Adsenseが表示されない場合について

Firefoxで広告が表示されない

 
普段ブラウザはFirefoxを使っているのだが、自分のブログを見ていて広告が表示されていないことに気がついた。最初はAdsenseのアカウントが停止されたのかと思ったのだが、スマートフォンでは表示されていたので少し調べてみるとFirefoxのちょっとした設定の問題だったので、その解決方法についてメモ。

Firefoxのトラッキング設定

 
サイトのURLが表示されているウィンドウの左側に盾?のマークが表示されていて、ここにポインタをドラッグすると『トラッキングをブロックしました』と表示される。

これをクリックするとウィンドウが表示されるので、『このサイトではブロッキングを無効にする』をクリックするとちゃんと広告が表示されるようになった。

さいごに

 
解決してみると大したことではないのだが、その「解決」方法が分かるまではいつも本当に苦労する。

 
 
スポンサーリンク

メニューバーのウィンドウ上部への表示について(Ubuntu)

メニューバーをウィンドウ上部に表示する方法

 
Ubuntuの初期設定では、アプリケーションやウィンドウのメニューバーは画面上部に固定されているが、Windowsのようにウィンドウ上部に表示させる方法についてメモ。
 

Ubuntuでのシステム設定

Ubuntuの「システム設定」から「外観」→「挙動」で、以下のように選択する。

  • 「ウィンドウのメニューを表示」:ウィンドウのタイトルバーの中
  • 「メニューの表示」:常に表示


これで、アプリケーション等のメニューバーがウィンドウ上部に表示されるようになった。

 
 
スポンサーリンク

隠しファイルの表示について(Ubuntu)

Ubuntuのファイルマネージャ(Nautilus)での隠しファイルの表示

 
Ubuntuのファイルマネージャ(メニューバーにある「ファイル」(Nautilus)」)で、隠しファイルを表示するには、「編集」→「設定」→「表示」と進み、「隠しファイルとバックアップファイルを表示する」にチェックを入れる。

これで、ファイル名の頭が「.」で始まるファイルや、ファイル名の最後に「~」が付く隠しファイルも表示されるようになった。

 
 
スポンサーリンク

PATHの通し方について(Ubuntu)

PATHの通し方について

 
作成したスクリプトなどを保存しているホームのbinフォルダにPATHを通す方法についてメモ。

~/.profile への追記

ホームのbinフォルダにPATHを通す場合は”.profile”に以下を記載する。

PATH=”$PATH:$HOME/bin”
※ ホームのbinフォルダについて、.profileに既に以下のような記載がある場合は不要。
# set PATH so it includes user’s private bin if it exists
if [ -d “$HOME/bin” ] ; then
PATH=”$HOME/bin:$PATH”
fi

 
一時的にPATHを通す場合は、ターミナルから以下のように記述する。

export PATH=$PATH:追加したいコマンド検索パス
※ echo $PATHで出力された左から優先されるため、追加するコマンド検索パスの優先度を高くする場合は以下のように記述。
export PATH=追加したいコマンド検索パス:$PATH

 
ターミナルから、”echo $PATH” としてPATHが通っていることを確認できた。

 
 
スポンサーリンク