CEOブログ

横浜で活躍するホームページ作成・開発会社アットライズの代表取締役社長(CEO)が綴る、日々の奮闘記!!

ツール パソコン

キーボード:日本語モードでも[,][:][=]を半角で入力したい!

投稿日:2014年10月3日 更新日:

快適なATOKだが、唯一の不満!

日本語変換ツールは、Windows標準の「IME」ではなく「ATOK」を愛用している。
一度ATOKを使ってしまったら、もうIMEには絶対に戻れないくらい快適。

そしてATOKの設定で、キーボードから文字を入力しているとき(日本語入力モード)、半角数字を入力したいときはテンキーから入力すれば必ず半角のまま入る設定にしてある。(ATOK設定の「テンキーからの入力を必ず半角にする」のチェックON)

なので、例えばメールを書いているとき、数字とかを記載する場合はテンキーから入れることで、いちいち半角に変換する手間がなく快適だ。
20141003075620-s

テンキーにない[,][:][=]などの文字がスゴク面倒

だが、例えば[,][:][=]など、数字や時間などを記載するときに頻繁に使う文字だがテンキーにはない
これらを入力するには、一旦[、]キーを入力し、半角に変換する必要があった。
「1,000」とか入力しようとすると[1][、](半角に変換)[0][0][0]と打つ必要があり、とーーっても面倒だった。(些細なことではあるが、とてもストレスがたまる。。)

AutoHotkeyで改善できた!!!!!!

いろいろと調べてみたら「AutoHotkey」というキーボードのキーをカスタマイズするフリーソフトがあるではないか!!

AutoHotkeyは、スクリプトをプログラミングすることで記述していくので、かなりハードルが高いが、その分 極めればさまざまな機能を作り込んでいくことが可能。

■参考サイト
AutoHotkey Wiki
AutoHotkeyとは
テンキーの「0」を修飾キー化

以下、インストールからスクリプトの記載まで備忘録として残しておきます。

AutoHotkey の設定方法

自分で設定した手順をメモしていきます。

インストールまで

  • http://ahkscript.org/download/ から、「Installer」をクリックしダウンロード。
    (参考:このときのバージョンは「v1.1.16.05 – September 28, 2014」)

  • DLした「AutoHotkey111605_Install.exe」をWクリックし、インストール実行。
  •  
    auto0283

  • 「ライブラリ¥ドキュメント」配下に「AutoHotkey.ahk」が生成される。(AutoHotkeyを起動すると、初期設定ではこのファイルを読み込む。(このファイルにスクリプトを書く)
  • これで、「C:\Program Files\AutoHotkey\AutoHotkey.exe」がインストールされる。

    スクリプトの編集

  • 「ライブラリ¥ドキュメント」配下にある「AutoHotkey.ahk」をテキストエディタで開く。
     
  • 以下のスクリプトを記載
  •  
    auto0285
    – – – 2014.10.03追記 – – – – –
    上記の、「{ASC 48}」の指定では「秀丸メール」で誤動作することが発覚!
    調べたところ、「{ASC XX}」の設定は、「内部的にはAltを押しながらテンキーの数字を送信している」ということが判明。(秀丸メール(秀丸)では、「Alt+X」というキー割り当てがしてあり、どうやらそれとバッティングしているらしい。。)
    ※参考サイト:http://ahkwiki.net/Send の「特殊キー名一覧」「直接指定」の項目参照

    なので、ASCIIコードによる設定ではなく、「Unicode(ユニコード)による設定」に変更!
    auto0286

    – – – 2015.08.30追記 – – – – –
    PC入れ替えに伴いATOKも「ATOK2005」→「ATOK2015」にしたところ、、
    ATOK2015では、上記が全角で入力されてしまうことが発覚。。。
    なので、一旦日本語入力を解除することにした。
    キー入力の順番としては[半角/全角/漢字キー]+[Unicodeの当該キー]+[半角/全角/漢字キー]の一連を入力する設定に。
    20150830_1

    – – – 2015.08.31追記 – – – – –
    上記の対処では日本語入力モードがOFFのときに「0」が入力できないことが発覚。
    なので、かなり面倒になったが以下の方法とした。
     ・現在の日本語モード(ON/OFF)を変数に保存
     ・(現在の設定にかかわらず)日本語モードをOFF
     ・カンマなどのコードを送信
     ・当初の日本語モードに戻す

    ※IME_GET/IME_SET関数を使うので、前提としてこれらのライブラリを設置
     参考:http://blechmusik.hatenablog.jp/entry/20120126/1327510037
     (1) http://www1.axfc.net/uploader/so/2243229 から「ime.ahk」をDL
     (2) DLファイルを解凍し、「ime.ahk」をAutoHotkey.exeのあるフォルダ内の「Lib」フォルダにコピー

    以下、スクリプト
    ————————————————————–
    ; テンキーから半角[,][:][=][\]を入力する
    ; ■[0] →[0]
    Numpad0::
    ime_mode := IME_GET()
    IME_SET(0)
    Send {U+0030}
    IME_SET(ime_mode)
    Return

    ; ■[0]+[.]→[,]
    Numpad0 & NumpadDot::
    ime_mode := IME_GET()
    IME_SET(0)
    Send {U+002c}
    IME_SET(ime_mode)
    Return

    ; ■[0]+[1]→[:]
    Numpad0 & Numpad1::
    ime_mode := IME_GET()
    IME_SET(0)
    Send {U+003a}
    IME_SET(ime_mode)
    Return

    ; ■[0]+[2]→[=]
    Numpad0 & Numpad2::
    ime_mode := IME_GET()
    IME_SET(0)
    Send {U+003d}
    IME_SET(ime_mode)
    Return

    ; ■[0]+[3]→[\]
    Numpad0 & Numpad3::
    ime_mode := IME_GET()
    IME_SET(0)
    Send {U+005c}
    IME_SET(ime_mode)
    Return
    ————————————————————–

    ※解説
    ・「Numpad0」は、「テンキーにある[0]」のこと。
    ・「Numpad0 & NumpadDot」は、テンキーから[0]を押しながら[.]を押したとき。
    ・「Send XXX」は、「XXX」を出力
    「{ASC 44}」は、ASCIIコードで「10進の[44]」
    ・「{U+002c}」は、Unicodeで「16進の[0x002c]=[,]」

    ※なぜASCIIコードで出力しているかと言うとasciiコード直設定にしておかないと 日本語モードでは全角で入ってしまうため。
    ※なぜUnicodeコードで出力しているかと言うとUnicode直設定にしておかないと 日本語モードでは全角で入ってしまうため。

    ※なぜ「Numpad0::」(1行目)を設定しているかというと、これがないと[0]単独で文字が入力できなくなるから。

    ※唯一の懸念
    このスクリプトを入れてしまうと、テンキーの[0]長押しで 連続入力ができなくなる
    要は「0000000000000000000000000000000000……..」なんていう連続入力ができなくなるのだが、そんな入力することはほとんどない。
    例えあっても、テンキーでない数字の[0]キー([わ]キー)を連続押しして半角変換すれば良い。そのデメリット以上に メリットの方が遙かに大きいと判断。 
     
     
    – – – 2021.09.06追記 – – – – –
    Logicoolのキーボードを導入したら、「ENDキー」(行末へ移動)がとても使いにくくなった。。
    なので、AutoHotkeyに追加してみた。

    以下、スクリプト
    ————————————————————–
    ; ■[0]+[*]→[Home](行頭にカーソル移動)
    Numpad0 & NumpadMult::
    ime_mode := IME_GET()
    IME_SET(0)
    Send {Home}
    IME_SET(ime_mode)
    Return

    ; ■[0]+[-]→[End](行末にカーソル移動)
    Numpad0 & NumpadSub::
    ime_mode := IME_GET()
    IME_SET(0)
    Send {END}
    IME_SET(ime_mode)
    Return
    ————————————————————–

    これで、
    [0]+[*]→[Home](行頭にカーソル移動)
    [0]+[-]→[End] (行末にカーソル移動)
    できるようになった!!
     

    「AutoHotkey.exe」を起動すればOK!

    設定が終わったら「AutoHotkey.exe」を起動して試してみよう!

    ちなみに、PCの電源投入時に自動起動させるには、「AutoHotkey.exe」を「スタート」メニューの「すべてのプログラム」「スタートアップ」に登録しておけば良い。

    -ツール, パソコン


    comment

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

    関連記事

    「PCのパフォーマンスが低下~」という広告の削除(AdwCleaner編)

    ポップアップがなくなったと思ったら。。 先日のブログで、アドウェア(広告目的のソフトウェア)を削除した話を書いたが、、 どうやらこれだけでは済まなかった。。 その後もブラウザ(Firefox)を開くた …

    パソコン:メモリの増設で生き返った!

    PCが重いのはメモリ不足かも 仕事で愛用しているパソコンは、もう5年も前に購入したDELLのWindows7である。 普段、ブラウザはFirefoxを使っているが、アドオンなどをたくさん入れ、自分的に …

    Dropboxに差分バックアップをとる仕組みを確立

    「最新」の状態でバックアップを取っておくことは重要 PCが壊れるとき、少し前から兆候が現れることが多い。 先日もブログ「PCがどうしようもなく重いので、ハードディスクを交換したら直った!」に書いたよう …

    便利サイト:地図上に半径○○kmの円を表示する方法(その2)

    現在は「Google Maps API」が必要になってしまったようだ。。 以前のブログで「便利サイト:地図上に半径○○kmの円を表示する方法」を記載したが、現在はうまく動いていないようだ。。 どうやら …

    スマホに有線LAN接続する方法

    試行錯誤の結果、やっと出来た! ブログ「リアル開催の勉強会をZoomで同時配信」で、スマホを使ったZoom配信の様子を投稿したが、その中で「途中で回線状況が悪くなる」といいう課題があった。 それならば …