Home > Windows Archive
Windows 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 と順に叩いてウィンドウを閉じることができる。さらに応用として、
- Comments: 0
- TrackBacks: 0
keyhac で簡単なマクロを作ってみる
keyhac を使ってキー配列をいじるスクリプトを紹介してきたが(その 1、その 2)このソフトではキーボードやマウスを使ったマクロを書くこともできる。今回は簡単な例として、Putty + GNU Screen での例を書いてみる。
Putty + GNU Screen でウィンドウを簡単に切り替える
GNU Screen で複数のウィンドウを切り替える場合は“コントロールキャラクタを押した後に数字キー”という操作を行う。具体的には、
- Control + Z を押す *1 。
- Control + Z を離す。
- 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 + 0 ~ 9 を押すと、0 番~ 9 番のウィンドウに切り替わるだろう。
- Comments: 0
- TrackBacks: 0
【Python 事始め】終了処理を追加する
スクリプトにバグがあった場合、Python はエラーメッセージを出力して終了することになるが、py2exe で exe 化している場合、そのメッセージは一瞬で消えてしまって読むことが出来ない。そういうときは終了処理を追加して一旦待って貰おう。この用途には atexit モジュールを使う。
使用例
次のようなスクリプトを実行すると勿論エラーで落ちるが、exe 化しているとウィンドウすら表示されないのでメッセージが読めない。
# coding=utf-8 # ゼロ除算エラーになる 1 / 0
そこで、スクリプトの最初に次のような処理を追加する。
# coding=utf-8
import atexit
def goodbye():
"""
終了処理
"""
raw_input( u"Enter キーを押してください".encode( "cp932" ) )
atexit.register( goodbye )
# ゼロ除算エラーになる
1 / 0
このスクリプトを py2exe で exe 化して実行すると、次のように表示される。
- Comments: 0
- TrackBacks: 0
【Python 事始め】コマンドプロンプトで色付き文字を使う
コマンドプロンプトで色付き文字を使うにはこのモジュールがいいみたい。Perl で言うなら Win32::Console::ANSI(参考)に当たる。
WConio -- Windows CONsole I/O for Python
http://newcenturycomputers.net/projects/wconio.html
color.py
# coding=utf-8 from WConio import * # おまじない。元の設定を保存しておく。 old_setting = gettextinfo()[4] & 0x00FF textcolor( GREEN ) print u"これは緑です" textcolor( LIGHTRED ) print u"これは明るい赤です" textbackground( DARKGRAY ) print u"背景を灰色にしました" textattr( old_setting ) print u"元に戻りました" print u"何かキーを押してください" getch()
実行例
WConio.textcolor() で前景色、WConio.background() で背景色を指定できる。WConio.getch() を使えば一文字だけ受け付けるプロンプトも作れる。上記リンクには他にもいろいろな関数が紹介されているので使ってみよう。
- Comments: 0
- TrackBacks: 0
【Python 事始め】YAMLで書いた設定ファイルを読み込む
Python で YAML を扱うためにはサードパーティのモジュールが必要だ。Perl で言う cpan コマンドに当たるのは easy_install というものらしい。
easy_installとは
http://morchin.sakura.ne.jp/effective_python/easy_install.html
モジュールのインストール
ブラウザで ez_setup.py をダウンロードして実行する。
C:\> python ez_setup.py
これで Python をインストールしたフォルダ直下の Scripts フォルダに easy_install.exe という実行ファイルが作成される。
Python で YAML を扱うモジュールは PyYAML というのがいいみたい *1 。インストールは次のコマンドをたたくだけだ。
C:\> D:\Python26\Scripts\easy_install PyYAML
- Comments: 0
- TrackBacks: 0
【Python 事始め】Windows アプリを作ってみる
業務で使う簡単なアプリを JScript や Perl を使って作っていたのだが、なんか飽きてきたので Python を始めてみた。まず一番初めにコンソールアプリを作るお勉強。所謂“exe 化”。Perl で言う PAR(参照 : 、)に当たるものは Python では py2exe らしい。
py2exe モジュールについて
http://python.matrix.jp/modules/py2exe.htmlFrontPage - py2exe.org
http://www.py2exe.org/
- Comments: 0
- TrackBacks: 0
SandS (Space and Shift) を使おう!【keyhac 編】
「日本語キーボードドライバで英語配列を使う【keyhac 編】」に続いて、keyhac で Sands の設定を行ってみる。
そもそも SandS とは何かというと、親指シフト配列キーボードの特徴のうち、「ホームポジションに手を置いたときに親指の位置にあるキーを修飾キーとして使う」機能だけを通常の JIS(あるいは ASCII)配列のキーボードで実現するものだ。具体的には、Space キーを Shift キーの代わりとして使うことである。
- Space キー単体を押したときはスペースを表示し、
- 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"
- Comments: 0
- TrackBacks: 0
日本語キーボードドライバで英語配列を使う【keyhac 編】
「Windows で英語キーボードを使いたい!」では Autohotkey を使って、日本語キーボードドライバを使いながら英語配列にする技を書いた。今度は keyhac というソフトを見つけたので使ってみた。Autohotkey でうまく動かなかった SandS *1 や、XKeymacs であったいくつかの問題 *2 もこれで解決したっぽい。
まずは手始めに、使っている HHK を日本語キーボードドライバのまま、英語配列化する設定ファイルを書いた。他のキーボードで使う場合はキーコード等をいじる必要があるかもしれない。Python という言語は初めて使ったけどおもしろいねえ。簡潔で、初級者でも内容がすぐわかるという取っつきやすさは Perl と正反対だ。早速本を買ってきたので少し勉強してみよう。
- Comments: 0
- TrackBacks: 0
ActivePerl 5.12 で PAR::Packer をインストール
ActivePerl 5.12 が出たみたいなので PAR::Packer のインストールをクリーンインストールから試してみた。5.10 の時はこんな感じでごく簡単に終了したのだが……。
http://blog.remora.cx/2010/02/par-activeperl-5101-build-1007.html
今回もまずは必要モジュールを先にインストールする。以下の 6 つだ。
Module::ScanDepsWin32::ExeParse::BinaryGetopt::ArgvfilePARPAR::Dist
そしていよいよ PAR::Packer……なのだが、これはうまくいかない。5.12 の PPM レポジトリにはまだ dmake 及び MinGW がリリースされておらず、コンパイルが出来ないのだ。しょうがないので、5.10 の時に使ったパッケージを無理矢理インストールする。
- Comments: 0
- TrackBacks: 1
CentOS on VMware Server
備忘録。WindowsマシンにVMware Server 2.0.2 + CentOS 5.4を突っ込むことになったので詳しくメモを取ってみた。
1.VMwareのインストール
VMware Server 2.0.2をダウンロードしてインストールする。この手順は簡単なのでパス。ユーザー登録してライセンスキーを取っておくこと。
2.CentOSのインストールの準備
(1) CentOSのDVDイメージをダウンロード
CentOS 5.4のDVDイメージ(isoファイル)をダウンロードして、C:\imagesに配置した。
(2) VMware管理画面を開く
https://PC名:8333/ui/を開く。ログイン画面が開くので、Windowsアカウントを使ってログインする。ドメイン環境ならば「ドメイン\ユーザー名」+パスワードが使える。
(3) DVDイメージを登録
DVDイメージをVMwareで認識できるようにする為に、新しいデータストアを追加する。画面右上の「Commands」→「Add Datastore」を選択。
| Name: | DVD |
|---|---|
| Directory Path: | C:\images |
CIFSの欄を使えば別のマシンにあるイメージファイルも使えるようだ。
- Comments: 0
- TrackBacks: 0
Home > Windows Archive
- Feeds
- CC Licence
-
このブログはクリエイティブ・コモンズでライセンスされています。
- Ferret アクセス解析
- W3C Validation
