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

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

    関連記事

    no image

    マウスを快適に使うフリーソフト「かざぐるマウス」

    横スクロール機能、便利! 仕事中、ほとんどの時間 PCに向かっている。 そのため、少しでも快適に操作するためにマウスはかなり高機能なインテリマウスを使うようにしている。(よほど酷使しているのか、買って …

    HDDからSSDに交換したら、メッチャ快適になった話!

    なんでもっと早くやらなかったのか、、後悔。。 オフィスで業務に使用しているパソコン、、Windows7のサポート終了が来年1月14日と迫ってきたこともあり、Windows10の新しいPCを購入した。 …

    [MySQL] phpMyAdminを使わずにSQLインポート[BigDump.php]

    ファイル容量が大きすぎてエラーになる時などチョー便利! WebシステムでDB(データベース)を使う際、MySQLを使うことが多い。 DBを直接編集したりする場合、いくつかの方法があるが、DBをインポー …

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

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

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

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