bgpict2.png 
わかばマークのMacの備忘録
初心者による Mac OSX の便利な使い方や、ソフトウェアの紹介など、Macのこといろいろ。

2016 / 12

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 31 



http://wakabamac.blog95.fc2.com/?overture" target="_new

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

edit

スポンサー広告 | |
+


http://wakabamac.blog95.fc2.com/blog-entry-571.html

Quicksilver/ 「英数」入力でQSを呼び出す
icn_Quicksilver
Quicksilver : ランチャ+システムの一部のような総合ユーティリティ


Quicksilver の基本的な操作は、ウインドウを呼び出して文字を入力して、その文字で始まる(含む)名前のアプリケーションやファイル、Actionを表示することにあります。

しかし、入力した文字が日本語だと、うまく処理できないことがほとんどです。
071023qs19

Quicksilver を呼び出したときに英数入力になっていると、操作がスムーズにできます。

なので、僕はアクティベーションホットキーに
command + 英数キー
を設定して、立て続けに「英数」キーを押す癖を付け、英数入力にするようにしています。

しかし、ときどき忘れてしまって「かな」入力のまま使ってしまうこともあります。

なんとかして、Quicksilver を呼び出したときに IM の状態を「英数」入力に保つような方法がないかと、いろいろ考えてみました。





【 InputSwitcher を使う 】


以前の記事で紹介した「InputSwitcher」を使う方法です。

InputSwitcher はIMの状態をアプリケーションごとに保持するSIMBLプラグインです。
Quicksilver もCocoaアプリケーションなので、これが効くはず・・・。

しかし、Quicksilver を呼び出すアクティベーションホットキーを入力して、呼び出してもうまく行きません。

そこでPreferenceパネルで「Dockにアイコンを表示させる」設定にしてみて、Dockの Quicksilver アイコンをクリックして、アクティブな状態にしたときには「InputSwitcher」が機能しました。


080601qs2
これをヒントに、下記のようにしてみたらうまく行きました。

左のような設定で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



このスクリプトは「英数」キーのあるJISキーボードでしか、機能しません

また、システム環境設定の「ユニバーサルアクセス」パネルで
補助装置にアクセスできるようにする」にチェックを入れないと機能しません。


('08/06/12追記)
コメントで K-muraさん に教えて頂きましたが、
「英数」キーの存在しないUSキーボードでも「key code 102」のAppleScriptの命令文が有効なようです。

それと「補助装置にアクセスできるようにする」にチェックを入れなくても、このスクリプトは機能します。失礼しました。
(追記おわり)


080601qs3
このスクリプトを「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を再起動します。
(既にその設定ならば不要)
080601qs1


080601qs4
メニューの「SwitchToUS」を選択して「✓」を付けて ON にします。

この操作が終われば、またDockやメニューバーを表示させない設定に戻しても大丈夫です。


この状態で Quicksilver を呼び出すアクティベーションホットキーを入力して、呼び出してもうまく「英数」入力に切り替わりません。

080601qs2
上記の【 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』の(関連記事)にあります。

edit

Quicksilver | CM:2 | TB:0

tag : Quicksilver  IM  AppleScript 

+




---------- K-mura | URL 2008/06/12, 10:45 | edit
tell application "System Events" to key code 102
ですが PowerBook G4 の US キーボードでも動きます。
補助装置...もオフでも大丈夫です。

---------- wakaba | URL 2008/06/12, 22:05 | edit
>K-mura さん、こんばんは。

情報ありがとうございます。
USキーボードでも、存在しないキーのキーコードを入力できるんですね。知りませんでした。

それと「key code」は、GUI Scripting ではなかったんですね。記事を修正しないと。

いや~、勉強になりました。
どーもです。


管理者にだけ表示を許可する
 

trackback URL

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。