キーボードの数字と記号を入れ替える

2017年5月23日

数字を入力するよりもカッコを入力することの方が多い皆様へ

 

この記事では、Keyhac – Pythonによる柔軟なキーカスタマイズツール を使い、キーボードの数字キー(テンキーでは無い方)について、Shift キーの機能を入れ替えて、Shift キーを押していたら数字、押していなかったら記号を入力する方法を紹介します。Ctrl などが押されているときは入れ替わらず、Ctrl+1 などのショートカットキーはそのままです。

Windows 日本語配列キーボードを対象にしますが、Keyhac は英語配列や Mac にも対応しているので、同じ要領でできるだろうと思います。

まず、Keyhac のドキュメントに従って、インストールを行い、カスタマイズを開始します。
config.py を編集していくわけですが、デフォルトでは、サンプル的に様々な設定が有効化されているので、好みで削っておきます。
keymap.defineWindowKeymap() を呼び出している行を探して、次の内容を追加します。

    # keymap_global = keymap.defineWindowKeymap() の直後に追加
    keymap_global[ "S-1" ] = "1"
    keymap_global[ "S-2" ] = "2"
    keymap_global[ "S-3" ] = "3"
    keymap_global[ "S-4" ] = "4"
    keymap_global[ "S-5" ] = "5"
    keymap_global[ "S-6" ] = "6"
    keymap_global[ "S-7" ] = "7"
    keymap_global[ "S-8" ] = "8"
    keymap_global[ "S-9" ] = "9" 
    keymap_global[ "1" ] = keymap.InputTextCommand( "!" )
    keymap_global[ "2" ] = keymap.InputTextCommand( "\"" )
    keymap_global[ "3" ] = keymap.InputTextCommand( "#" )
    keymap_global[ "4" ] = keymap.InputTextCommand( "$" )
    keymap_global[ "5" ] = keymap.InputTextCommand( "%" )
    keymap_global[ "6" ] = keymap.InputTextCommand( "&" )
    keymap_global[ "7" ] = keymap.InputTextCommand( "'" )
    keymap_global[ "8" ] = keymap.InputTextCommand( "(" )
    keymap_global[ "9" ] = keymap.InputTextCommand( ")" )

これで、(すくなくとも Windows + Google日本語入力では)IME でも入れ替えが有効になります。

About Author

koto

Leave a Comment

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Recent Comments

Social Media