Firefox用AutoHotkeyスクリプトでブラウジングを効率化2024年02月24日

 Firefoxで使っていて便利なAutoHotkey(AHK)のスクリプトについて紹介する。  AutoHotkeyの機能の一つに、キーボードのショートカットをカスタマイズする機能があり、それを使ってブラウジングを快適にしている。

  • 2行目のコード  Ctrl+Tを押すことで閉じてしまったタブやウィンドウを開き直す。元々FirefoxではCtrl+Shift+Tでこの操作ができるが、より簡単に押せるようCtrl+Tに変更した。間違ってタブを閉じてしまうことがしばしばあり、それを復活させるのに便利だ。  ただし、この変更により「新しいタブを開く」標準ショートカットのCtrl+Tは使えなくなる。自分は使わないので問題はない。
  • 3行目のコード  Ctrl+Zでページのズームをリセットする。通常はCtrl+0でズームリセットが可能だが、自分のキーボードのように、CTRLキーが左側にしかない場合、両手を使わなければ操作できない。左手だけでズームをリセットしたいときに便利。  自分はズームインやズームアウトはCTRLキーとマウスホイールで行っているため、左手だけでリセットできないと効率が悪いのだ。
#IfWinActive ,Mozilla Firefox
^t::+^t
^z::^0
return

 これらのスクリプトは小さな変更だが、ちょっとした不便さを解消し、PC操作の効率を向上させている。

Happy Hacking Keyboard Professionalで特定キーが原因のWindowsフリーズを解決する方法2024年02月20日

 Happy Hacking Keyboard(HHKB)シリーズを長く使ってきた。今使っているのは「Happy Hacking Keyboard Professional」。

 Ctrl+F1の組み合わわせは、HHKBではCtrl+Fn+1になるが、これにジャストシステムの日本語かな漢字変換であるATOKの単語登録機能を割り当てていた。
 
 ある時からこのキーの組み合わせを押すとWindows 10がフリーズするようになった。

 最初はAutoHotkey(AHK)の不具合かと考えて、AHKをオフにしたが変わらなかった。

 次に、HHKBの説明書を読み、このキーボードではctrl+Fn+1がBluetooth接続機器の切り替えのキーの組み合わせとわかり、それが干渉しているか思って、ペアリング情報を全部消してみた。しかし解決しなかった。

 だめもとで、HHKBのUSBケーブルを一度抜いて、すぐに差し直した。するとそれからは、同じキーの組み合わせを使ってもフリーズしなくなった。

 HHKBを使っていて特定のキーの組み合わせで問題が出たら、USBケーブルの抜き差しを試すといいかもしれない。

Firefox 57で使えなくなったrestartのアドオンをAHKで代替2017年12月15日

 Firefox 57(Quantum)でrestart系のアドオンが使えなくなった。必要だったので、AutohotKey(ahk)で実現するスクリプトを書いた。
 待機時間をここでは20秒としているが、これが最適かわからない。
 とりあえず動くのでよしとする。状況により、終了を待てというような、ダイアログがでる。

^!r::
WinClose, Mozilla Firefox, , 0, ,
WinWaitClose, , , 20, ,
Run, "C:\Program Files\Mozilla Firefox\firefox.exe"
return

Tab Mix plusのダブルクリックでタブを閉じる動作をAHKで代替2017年12月12日

 Firefoxg 57(Quantum)でアドオンのTab Mix plus(TMP)が使えなくなったのは痛い。

 タブのダブルクリックで「タブを閉じる」動作を設定し、よく使っていた。
 これが無いと困るがTMPが対応しないので、AutohotKey(ahk)でこの機能を代用するスクリプトを書いた。試行錯誤して動くものができた。最適解でないかもしれないがとりあえず動くのでよしとする。


#IfWinActive ,Mozilla Firefox
~LButton::

MouseGetPos, xpos, ypos
if(ypos>109 && ypos<136)
{
KeyWait, LButton, T0.3
If (ErrorLevel = 1)
{
return
}
else
{
 keyWait, LButton, D T0.3
 If (ErrorLevel = 1)
  {
  return
  }
 Else
{
Send,^w
return
}
}
}
Else
return