1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
http://wakabamac.blog95.fc2.com/blog-entry-571.html

Quicksilver : ランチャ+システムの一部のような総合ユーティリティ
Quicksilver の基本的な操作は、ウインドウを呼び出して文字を入力して、その文字で始まる(含む)名前のアプリケーションやファイル、Actionを表示することにあります。
しかし、入力した文字が日本語だと、うまく処理できないことがほとんどです。

Quicksilver を呼び出したときに英数入力になっていると、操作がスムーズにできます。
なので、僕はアクティベーションホットキーに
command + 英数キー
を設定して、立て続けに「英数」キーを押す癖を付け、英数入力にするようにしています。
しかし、ときどき忘れてしまって「かな」入力のまま使ってしまうこともあります。
なんとかして、Quicksilver を呼び出したときに IM の状態を「英数」入力に保つような方法がないかと、いろいろ考えてみました。
【 InputSwitcher を使う 】
以前の記事で紹介した「InputSwitcher」を使う方法です。
InputSwitcher はIMの状態をアプリケーションごとに保持するSIMBLプラグインです。
Quicksilver もCocoaアプリケーションなので、これが効くはず・・・。
しかし、Quicksilver を呼び出すアクティベーションホットキーを入力して、呼び出してもうまく行きません。
そこでPreferenceパネルで「Dockにアイコンを表示させる」設定にしてみて、Dockの Quicksilver アイコンをクリックして、アクティブな状態にしたときには「InputSwitcher」が機能しました。

これをヒントに、下記のようにしてみたらうまく行きました。
左のような設定でTriggerにホットキー登録します。
・Object「Quicksilver.app」
・Action「Open」
これをホットキー登録します。
これで Quicksilver を呼び出すときに使っていたアクティベーションホットキーを使わず、このTriggerで設定したホットキーで Quicksilver を呼び出すと「InputSwitcher」が機能してIMの状態を保持することができます。
【 AppleScript を使う 】
上記の InputSwitcher を使う方法で安定して使えるのですが、テキストモードなんかで「かな」入力にして次に呼び出したときにも「かな」入力なので、「うっかり」ってこともあります。
Quicksilver は、やはり呼び出したときに「英数」になっていた方が便利と言うことで AppleScriptで実現する方法を考えてみました。
TriggerでAppleScriptを実行し、そのときに「英数」入力にし、ついでに Quicksilver を呼び出すという考え方です。
▽ ScriptEditor で開く
-- 英数入力に切り替える('08/06/12修正)
tell application "System Events" to tell process "WhateverItIs" to key code {102}
-- key code 102 は「英数」キー
-- USキーボードでも可能
-- Quicksilverを呼び出す(開く)
try
tell application "Finder" to set the_path to (application file id "com.blacktree.Quicksilver") as string
do shell script "open " & quoted form of POSIX path of the_path
end try
「補助装置にアクセスできるようにする」にチェックを入れないと機能しません。
('08/06/12追記)
コメントで K-muraさん に教えて頂きましたが、
「英数」キーの存在しないUSキーボードでも「
key code 102
」のAppleScriptの命令文が有効なようです。それと「補助装置にアクセスできるようにする」にチェックを入れなくても、このスクリプトは機能します。失礼しました。
(追記おわり)

このスクリプトを「Launch_QS.scpt」とかの適当な名前で保存して、左のような設定でTriggerにホットキー登録します。
・Object「Launch_QS.scpt」
・Action「Run」
これでホットキーを押してこのTriggerを実行すると、英数入力になった状態で Quicksilver を呼び出すことができます。
ただし問題があって、このスクリプトでは「
key code
」で英数キーを押した状態にしている関係から、ホットキーにcommand+○○など複数のキーを使った場合だと、入力のタイミングからかうまくAppleScriptを実行できません。ファンクションキーに割当て、1つのキー入力のホットキーに設定しているとうまく実行できます。
(´-`).。oO(諸条件が多いのと、反応速度がイマイチ・・・)
※ここで紹介している他の方法と併用すると、変なことになります。
【 SwitchToUS を使う 】
以前に紹介した「SwitchToUS」を使う方法です。
前に Quicksilver で試したときはちょっと安定性に欠いていたのですが、QSβ36で試していたので、今の環境とは違うのでまた使ってみました。
SwitchToUS は InputManagerプラグインで、Cocoaアプリケーションが最前面のアプリケーションになったときに、IMを自動的に「英数」入力に切り替えるものです。
改めてインストールの方法ですが、まず SwitchToUS v0.2 をダウンロードして、「SwitchToUS」フォルダを
/Library/InputManagers
に保存します。
「InputManagers」フォルダが無い場合は新たに作る
(※ホームフォルダに作ってはダメ)
このままでは機能しないので、ターミナルでファイルオーナーを変更するコマンドを実行します。
sudo chown -R root:admin /Library/InputManagers |
(参考 : LeopardでInputManagersを使う - soundscape out)
これ以降に起動(再起動)したCocoaアプリケーションで SwitchToUS が有効になります。
関係ないけど Quicksilver は「control+command+Q」のショートカットで再起動して、環境設定ウインドウを開くようです。
『Quicksilver/ ショートカットまとめ』に加えておこう・・・。
そして Quicksilver のPreferencesパネルを開き(command+,)、「Application」カテゴリで「Show icon in dock」にチェックを入れてQSを再起動します。
(既にその設定ならば不要)


メニューの「SwitchToUS」を選択して「✓」を付けて ON にします。
この操作が終われば、またDockやメニューバーを表示させない設定に戻しても大丈夫です。
この状態で Quicksilver を呼び出すアクティベーションホットキーを入力して、呼び出してもうまく「英数」入力に切り替わりません。

上記の【 InputSwitcher を使う 】場合と同じく、左のような設定でTriggerにホットキー登録します。
・Object「Quicksilver.app」
・Action「Open」
このTriggerに設定したホットキーで Quicksilver を呼び出すと、自動的に「英数」入力で開くようになります。
上記で3つの方法を試してみましたが、個人的には【 SwitchToUS を使う 】方法が一番使い易いです。
どれも完璧と言う訳ではありませんが、きっとだれかエライ人がもっといい方法を教えてくれるはず・・・?
この記事では Quicksilver(3815) を使用しています。
(関連記事)
InputSwitcher --- IMの状態をアプリケーションごとに保持する
SwitchToUS --- 指定したアプリが最前面に来ると英数入力に切り換える
Quicksilver --- 基本的な概略説明
Quicksilver/ 基本的な使用例
Quicksilver/ Catalogの設定
Quicksilver/ Actionについて(1)
Quicksilver/ Actionについて(2)
Quicksilver/ Actionについて(3)
Quicksilver/ Actionについて(4)- Command Objects
Quicksilver/ Triggers の説明(1)
Quicksilver/ Triggers の説明(2)
Quicksilver/ Plug-ins について
Quicksilver/ Proxy Objects について
Quicksilver/ Triggers の説明(3)- Mouse Triggers
Quicksilver/ Triggers の説明(4)- Abracadabra Triggers
Quicksilver/ ショートカットまとめ
すべてのQuicksilver記事のリンクは『Quicksilver』の(関連記事)にあります。
▽同じ「タグ」が付いた関連記事
ですが PowerBook G4 の US キーボードでも動きます。
補助装置...もオフでも大丈夫です。
情報ありがとうございます。
USキーボードでも、存在しないキーのキーコードを入力できるんですね。知りませんでした。
それと「key code」は、GUI Scripting ではなかったんですね。記事を修正しないと。
いや~、勉強になりました。
どーもです。
trackback URL