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

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

    関連記事

    Logicool Flow:1台のマウス/キーボードでPC2台を操作!

    ロジクールの「Logicool Flow」でキーボードも切り替え! 以前のブログ「買ってよかった!2台のPCを自在に行き来できるマウスが秀逸!」で、2台のPCを自在に行き来できるLogicoolのマウ …

    [Firefox]右クリックしたときのコンテキストメニューの順番を入れ替える方法

    Firefoxの便利なアドオンについては、ブログ「効率が格段にアップする便利なFirefoxアドオン10傑」に記載したが、その中で「選択文字列を右クリックで、そのまま検索」できる「Context Se …

    [備忘録]Windows10:32bit→ 64bit化

    32bitはメモリが最大4GBまでしか認識できない。。 自宅のパソコンがどうにも重い。。 なのでメモリを追加しようとしたが、、なんとWindows「32bit版」のため、せっかく搭載してもOSの制限で …

    [LAN]ネットワーク上のプリンタ「Canon iX5000」をWindows8から追加する方法

    社内ネットワーク(LAN)上にあるプリンタ「Canon iX5000」をWindows8のパソコンから「プリンターの追加」する方法。 ちなみに「Canon iX5000」がUSB接続されているプリンタ …

    便利ツール:印刷コストを大幅削減![FinePrint]

    欠かせない便利ツール:FinePrint 印刷にはなくてはならない!と言っていいほど便利なツール「FinePrint」 主な機能 印刷時の状態が「プレビュー」で見れるため、ミスプリントが大幅に減る。 …