Home > キーボード Archive

キーボード Archive

keyhac で Emacs 風ショートカットを定義する

キーカスタマイズソフト keyhac において、“複数のキー入力へアクションを割り当てる”ことが可能になっていた。要するにこれは、Emacs 風のショートカットを実現するためのものだ。

from keyhac import *

def configure( km ):
    # グローバルキーマップ
    kmg = km.defineWindowKeymap()

    # “切り取り”は C-W に退避させておく
    kmg[ "C-W" ] = "C-X"

    # マルチストローク設定
    kmg[ "C-X" ] = km.defineMultiStrokeKeymap()
    # 開く
    kmg[ "C-X" ][ "C-F" ] = "C-O"
    # 上書き保存
    kmg[ "C-X" ][ "C-S" ] = "C-S"
    # 名前をつけて保存
    kmg[ "C-X" ][ "C-W" ] = "A-F", "A"
    # 終了
    kmg[ "C-X" ][ "C-C" ] = "A-F4"

これにより、Control を押下したまま、XC と順に叩いてウィンドウを閉じることができる。さらに応用として、

Continue reading

keyhac で簡単なマクロを作ってみる

keyhac を使ってキー配列をいじるスクリプトを紹介してきたが(その 1その 2)このソフトではキーボードやマウスを使ったマクロを書くこともできる。今回は簡単な例として、Putty + GNU Screen での例を書いてみる。

Putty + GNU Screen でウィンドウを簡単に切り替える

GNU Screen で複数のウィンドウを切り替える場合は“コントロールキャラクタを押した後に数字キー”という操作を行う。具体的には、

  1. Control + Z を押す *1
  2. Control + Z を離す。
  3. 3 を押す。

これで 3 番のウィンドウに切り替わる。毎回 Control を離す動作が面倒なのだ。これを、単に Control + 3 だけで切り替わるようにしたい。

config.py(部分)

def configure( km ):
    km_putty = km.defineWindowKeymap( exe_name = u"PUTTY.EXE" )
    for i in xrange( 10 ):
        km_putty[ "C-" + str( i ) ] = km.command_InputKey( "C-Z", str( i ) )

2 行目では特定のプログラム(PUTTY.EXE)でのみ有効なキーマップ(km_putty)を得ている。そして 4 行目がキモ。command_InputKey メソッドは引数に並べたキーを順に押した場合と同じ効果を得るための関数を返す。このスクリプトを使うと、Putty + GNU Screen な環境で Control + 09 を押すと、0 番~ 9 番のウィンドウに切り替わるだろう。

Continue reading

SandS (Space and Shift) を使おう!【keyhac 編】

日本語キーボードドライバで英語配列を使う【keyhac 編】」に続いて、keyhacSands の設定を行ってみる。

そもそも SandS とは何かというと、親指シフト配列キーボードの特徴のうち、「ホームポジションに手を置いたときに親指の位置にあるキーを修飾キーとして使う」機能だけを通常の JIS(あるいは ASCII)配列のキーボードで実現するものだ。具体的には、Space キーを Shift キーの代わりとして使うことである。

  1. Space キー単体を押したときはスペースを表示し、
  2. Space キーを押しながら 4 キーを押すと、「$」記号を表示する。

こんな機能が実現できる。タイプするときにほとんど働いていない親指を使うことで、Shift Control Tab Enter などの打鍵で忙しい小指を休ませることが狙いだ。ただ、Space キーを押して一定時間(数十~数百ミリ秒)を上記 1. 2. の判定に使うので、単にスペースを入力したいときは僅かに待つことになる。そこは慣れるしかない。

では実際の設定方法を載せておく。……そのまま引用しただけだけども。

# config.py
from keyhac import *

def configure(keymap):
    keymap_global = keymap.defineWindowKeymap()
    keymap.replaceKey("Space", "RShift")
    keymap_global["O-RShift"] = "Space"

http://d.hatena.ne.jp/mobitan/20081128/1227792452

Continue reading

日本語キーボードドライバで英語配列を使う【keyhac 編】

Windows で英語キーボードを使いたい!」では Autohotkey を使って、日本語キーボードドライバを使いながら英語配列にする技を書いた。今度は keyhac というソフトを見つけたので使ってみた。Autohotkey でうまく動かなかった SandS *1 や、XKeymacs であったいくつかの問題 *2 もこれで解決したっぽい。

まずは手始めに、使っている HHK を日本語キーボードドライバのまま、英語配列化する設定ファイルを書いた。他のキーボードで使う場合はキーコード等をいじる必要があるかもしれない。Python という言語は初めて使ったけどおもしろいねえ。簡潔で、初級者でも内容がすぐわかるという取っつきやすさは Perl と正反対だ。早速本を買ってきたので少し勉強してみよう。

Continue reading

【Mac】キー配列をカスタマイズする

Windowsで英語キーボードを使いたい!」では、Windowsに於いてキー配列をカスタマイズするソフト(というと語弊があるが)「AutoHotkey」について書いた。Mac OS Xで同じようなことをするソフトはこれだ。

KeyRemap4MacBook

http://pqrs.org/macosx/keyremap4macbook/index.html.ja

名前は「MacBook」だけど、他のMacでも使える。一例を挙げると、右Option(⌥)一つで日本語入力をON/OFFできたり(AXキーボード風)、装飾キー + KJHLで上下左右に動けたり(Vi厨歓喜)など、全部で600種類以上の便利なカスタマイズが満載だ。

100403-0002.png

更に自分独自のキーマップを登録できる。そのやり方も書いておこう。

Continue reading

Windowsで英語キーボードを使いたい!

英語キーボードが好きだ。キートップにひらがなが載っていないのでシンプルだし、スペース“キー”ではなくスペース“バー”がど真ん中に鎮座ましましているのがいい。配列だって

  • Shift + ' = "
  • Shift + - = _
  • Shift + ; = :

みたいに、規則的で覚えやすいと思わない? そうでもない? というわけで、昔からHappy Hacking KeyboardとかRealForce英語配列版とかを使い続けている。

自分だけで使うPCならそれで良かったのだが、会社や家族で共用して使うPCだとうまくいかなくなる。WindowsというOSは再起動なしにキー配列を変えることが出来ないという困った仕様なので、自分の使うときだけキーボードをつなぎ替えるような、勝手なことは出来ないのだ *1 。これは誰しも悩むことのようで、解決してくれるソフトも販売されている。

Continue reading

Index of all entries

Home > キーボード Archive

Feeds
CC Licence

Creative Commons License

このブログはクリエイティブ・コモンズでライセンスされています。

Ferret アクセス解析
W3C Validation

I ♥ validator

Return to page top