2013-05-31

"Quick Look"からjQueryへ

取り留めの無い話の様ですが、意外な関連があります。"Quick Look"に興味が湧いたのは、KeyRemap4MacBookのキー操作の図面をキー入力一発で引き出せるかをトライしていた時です。

始めには、"Quick Look"をターミナル経由で呼び出せれば善いと考えて、調べて見たのですが、良く判りませんでした。そこで、アップルのサポート・コミュニティ、「Mac mini」のフォーラムで質問しました;
そこで判ったのは"Quick Look"に対応するコマンドは、敢えて言えば「qlmanage」だけれど、デバッグ用に作られているので、使い勝手は悪いよ、という結論でした。

これを説明下さったHiro.Sさんが、AppleScriptから"Quick Look"で画像ファイルを表示する手法をお教え下さったのですが、自分には馴染めませんでした。

逆に「qlmanage」でiTunesで演奏中の歌詞を、Dashboardに移動する事無く、現在のデスクトップ中に表示する方法をお示しになり、常連のHALさんとの活発な論議が起こりました。

他方私は、最近CDを聴くよりも、性能が向上したCALMRADIO.COMを聴く頃が多いです。そのとき、iTunesの情報窓では;
  • スクロールする上、
  • フォントも小さく、
  • 直ぐに見えない
という不満があったので、「2013/05/11 11:37」に質問をさせて戴きました。此れに対する質疑応答から、「AppleScript Editor」を触りだして、AppleScriptからiTunesを操作する感じが、朧げながら判る感じがしてきました。

そんな最中、Hiro.Sさんから、2013/05/12 14:18に「(* Radio の情報をリストファイルに書き出す iTunes用 AppleScript……」というスクリプトの公開がありました。私には、こんなに簡単に望んだデータを引き出して、表に出来るのかと驚きました。

このころは、ファイルをエディタで開けて見るという単純な方法でした。でも、作業中に興味ある音楽が出てくると.appにしたアイコンをクリックするだけで情報がセーブできたり、眺めたり出来て、心理的にも充足感が高まりました。
  • 意外な局が面白かったり、
  • 全然知らないけれど興味の在る曲が判って、版元も検索出来たり。
  • 好きだけど名前の知らない曲が判明したり。
  • 知らない演奏家だけど善い音楽家を知ったり。

そのうちに、区切り記号を「tab:\t」にして、ファイル名を.tsv(tab-separated values)とするだけで、エディタで開かずとも"Quick Look"で、そこそこ見易く表示出来る事が判りました。

ところが、Hiro.Sさんから「2013/05/19 15:25」に「Javascript Bookmarklet」を使っって、ソート付きのHTMLの紹介がありました。これには衝撃的な印象を受けました。ブラウザを表示先とすれば、"Quick Look"の様に、データの損傷はなく、余計なボタンもなく、必要なデータをキーボードから直接呼び出せることになるからです。

で、急遽「ソートできる表」という観点から検索をしてみると「jQuery」というJavaScriptのツール群様のプラグ・インのjquery.csv2table.jsを使えば、「容易に・奇麗に・動的な表示」が可能らしいとわかりました。
まだ自分では使い方が判っていないのですが、師匠のHiro.Sさんにご教示を受けて使っています。

と言う様な、紆余曲折を経て、
  • "Quick Look: 静的" → ブラウザ + jQuery + csv2table.js: 動的
の旅が収束したと言う訳です。

____
この記事の履歴
  1. 開始 2013-05-31(金) 12:04:18 


2013-05-19

How to represent tab(\t) at sed command in bash script of os x

最近「tsp:tab-separated values」で、タブ(tab, \t)を他の文字列にする必要が有った。簡単に思えたが、ほとんどの「os x」に搭載された「bash中のsed」ではそう簡単でない事が判った。今後の為に纏めて置く。

以下に、説明の為に作成したスクリプト;

#!/bin/bash

#set -x

echo "=== $(basename $0): how to present tab in sed"
echo -e "== for $(bash --version | grep version)\n"

org="pqr    stu" # rとsの間にはタブ

echo "■ 次の原稿には、rとsの間にはタブがある;"
echo "  0.---「${org}」"

echo
echo  "■ タブをバレットに変えようとして、"
echo '■ 「sed -e "s/\t/•/"」にパイプしても、'
echo  "■ タブは其の儘で「t」が消えるだけ;"
echo "  1.---「${org}」"  | sed -e "s/\t/•/"


echo
echo  "■ タブを表す変数を生成する"
echo  '■ 方法1: t1="‹タブ押す›'
echo  '■ 方法2: t2=$(echo -e "\t\c")'
echo  '■■ 両者は等しい'

t1="    " #実際に「tab-key」を押した。
t2=$(echo -e "\t\c")

echo
echo '■ 「sed -e "s/${t1}/•/"」にパイプすると、タブは•に替わる'
echo "  2.---「${org}」"  | sed -e "s/${t1}/•/"

echo
echo '■ 「sed -e "s/${t2}/•/"」にパイプしてもOK'
echo "  3.---「${org}」"  | sed -e "s/${t2}/•/"

echo


echo ■ 参考資料に従って、1.の「'\'t」を「'"$'\''\t'\''"'」に書き換えて
echo '■ 「sed -e "s/"$''\t''"/•/"」にパイプしても、タブは•に替わる'
echo "  4.---「${org}」"  | sed -e "s/"$'\t'"/•/"

echo
echo ■ 同じ参考資料に従って、.bash_profileで「export mytab='$'\''\t'\'」と定義したので
echo '■ 「sed -e "s/$mytab/•/"」とパイプしても、タブは•に替わる'
echo "  5.---「${org}」"  | sed -e "s/$mytab/•/"
echo
echo 「上記、5.の方法が覚え易いし、安全だろう」

echo
echo "=== $(basename $0): end"

其の動作結果を示す;

u1@mmX75:~ $ test_tab
=== test_tab: how to present tab in sed
== for GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)

■ 次の原稿には、rとsの間にはタブがある;
  0.---「pqr    stu」

■ タブをバレットに変えようとして、
■ 「sed -e "s/\t/•/"」にパイプしても、
■ タブは其の儘で「t」が消えるだけ;
  1.---「pqr    s•u」

■ タブを表す変数を生成する
■ 方法1: t1="‹タブ押す›
■ 方法2: t2=$(echo -e "\t\c")
■■ 両者は等しい

■ 「sed -e "s/${t1}/•/"」にパイプすると、タブは•に替わる
  2.---「pqr•stu」

■ 「sed -e "s/${t2}/•/"」にパイプしてもOK
  3.---「pqr•stu」

■ 参考資料に従って、1.の「\t」を「"$'\t'"」に書き換えて
■ 「sed -e "s/"$\t"/•/"」にパイプしても、タブは•に替わる
  4.---「pqr•stu」

■ 同じ参考資料に従って、.bash_profileで「export mytab=$'\t'」と定義したので
■ 「sed -e "s/$mytab/•/"」とパイプしても、タブは•に替わる
  5.---「pqr•stu」

「↑の5.の方法が覚え易いし、安全だろう」

=== test_tab: end
u1@mmX75:~ $
 
【結論】 sedのなかで「\t」を使いたくなったら「$mytab」に置き換えるべし。

.bash_profileでの該当部分は;
export LANG=ja_JP.UTF-8
export mytab=$'\t'

【参考資料】
  1. http://mattintosh.hatenablog.com/entry/2013/01/16/143323
  2. bash Pocket Reference, O'REILLY, ISBN: 978-1-449-38788-4, p11, $' '
—————
この記事の履歴
  1. 開始 2013-05-19(日) 21:22:30 
  2. 修正 2013-05-20(月) 10:57:34 .bash_profile

2013-05-10

indented-text handling by using echo and here-document of bash on os x lion

KeyRemap4MacBookの調整の時に、動的に替わるxmlや複雑なxmlを作る事が多くなって来た。一般に、xmlが多量になるとインデント(indent)を確実にしないと、見通しが極度に低下する。更にKeyRemap4MacBookの特殊性として、「<autogen>タブ階層構造」と「<item>タブの階層構造」とが別々に意味を持つので、正しくインデントの必要性が高まって来た。

これらの「インデントされたテキスト(indented text)」を生成するときには、エスケープ・シークエンス(escape sequences)による出力 ;
  • 「エスケープ・シークエンスのオプションの付いたエコー・コマンド」
    • echo -e "\tHoge.$JJJ hoge\n"
を使っていた。しかし、量が増えて来たり、変数(variable, $JJJ)が入ってくると、作り間違えが急造して、修正が大変になってしまう。

そこで、不得意な「ヒア・ドキュメント(here document)」を使った具体例、echo_and_here-documentを作製したので、以下に説明する。なお、変数(variable, $JJJ)の処理は最後に触れます。

u1@mmX75:~/bin $ cat echo_and_here-document
#!/bin/bash

ex5() {

# EXAMPLE 5: basic "here document" wrapped in function, ex5    ###########
JJJ=$((JJJ+1))
cat <<EOF

<!-- EXAMPLE $JJJ: basic "here document" wrapped in function, ex5 -->
    <abc>
        efg, hij
    </abc>
   
EOF

}

################ Main ####################################################
echo  "$(basename $0): start"


# EXAMPLE 1: direct "echo with -e option" ################################
JJJ=1
echo -e "\n<!-- EXAMPLE $JJJ: simple \"echo with -e option\"\c"
echo -e " -->\n\t<abc>\n\t\tefg, hij\n\t</abc>"

# EXAMPLE 2: basic "here document" #######################################
JJJ=$((JJJ+1))
cat <<EOF

<!-- EXAMPLE $JJJ: basic "here document" -->
    <abc>
        efg, hij
    </abc>
   
EOF

# EXAMPLE 3: command substitution includes "here document" ###############
JJJ=$((JJJ+1))
ex3="$(
cat <<EOF

<!-- EXAMPLE $JJJ: "here document" included
                 by "command substitution:\$(...)"
                 and saved to variable, \$ex3.-->
    <abc>
        efg, hij
    </abc>
   
EOF
)"
echo "$ex3"

# EXAMPLE 4: basic "here document" redirect file, ex4. ###################
JJJ=$((JJJ+1))
cat <<EOF > ex4

<!-- EXAMPLE $JJJ: basic "here document" redirects to file, ex4 -->
    <abc>
        efg, hij
    </abc>
   
EOF
cat ex4
rm -f ex4

# EXAMPLE 5: basic "here document" redirect file in function ex5. ########
ex5 # just call function, ex5


# EXAMPLE 6: basic "here document" redirect file
#                 in external function ex6 at myUtuities ########
. myUtilities
ex6 # just call function, ex6

echo ""
echo "============= myUtilities ====================="
cat $HOME/bin/myUtilities | sed -e "s/^/contents: /"
echo "==============================================="

################ Main ####################################################
u1@mmX75:~/bin $


この実行結果は;

u1@mmX75:~ $ echo_and_here-document
echo_and_here-document: start

<!-- EXAMPLE 1: simple "echo with -e option" -->
    <abc>
        efg, hij
    </abc>

<!-- EXAMPLE 2: basic "here document" -->
    <abc>
        efg, hij
    </abc>
   

<!-- EXAMPLE 3: "here document" included
                 by "command substitution:$(...)"
                 and saved to variable, $ex3.-->
    <abc>
        efg, hij
    </abc>
   

<!-- EXAMPLE 4: basic "here document" redirects to file, ex4 -->
    <abc>
        efg, hij
    </abc>
   

<!-- EXAMPLE 5: basic "here document" wrapped in function, ex5 -->
    <abc>
        efg, hij
    </abc>
   

<!--
    EXAMPLE 6: basic "here document" wrapped
    in function, ex6() at external file, myUtilities
-->   
    <abc>
        efg, hij
    </abc>
   

============= myUtilities =====================
contents: #!/bin/bash
contents:
contents: ex6(){
contents:
contents: # EXAMPLE 6: basic "here document" wrapped in function, ex6 at myUtulities    ###########
contents: JJJ=$((JJJ+1))
contents: cat <<EOF
contents:
contents: <!--
contents:     EXAMPLE $JJJ: basic "here document" wrapped
contents:     in function, ex$JJJ() at external file, myUtilities
contents: -->   
contents:     <abc>
contents:         efg, hij
contents:     </abc>
contents:    
contents: EOF
contents: }
===============================================
echo_and_here-document: end
u1@mmX75:~ $

使った感想としては、利用目的に応じて;
  • 超簡単なら、EXAMPLE1
  • 簡単なら、EXAMPLE2
  • 繰り返しの利用なら、EXAMPLE3
  • ファイルとして保存なら、EXAMPLE4
  • 開発途中のファイルなら関数が使いよいかも、 EXAMPLE5
  • 開発が終わって、共通なユーティリティ・ファイルにするのもよい、EXAMPLE6
といった感じです。KeyRemap4MacBook関係では、圧倒的にEXAMPLE5らしそうです。

最後に変数(variable, $JJJ)の定義と演算ですが;
  • 数値代入:JJJ=5
  • 数値演算:KKK=$((JJJ*2))
実例;

u1@mmX75:~ $ JJJ=5
u1@mmX75:~ $ KKK=$((JJJ*2))
u1@mmX75:~ $ echo -e "\tJJJ=$JJJ, KKK=JJJ*2=$KKK"
    JJJ=5, KKK=JJJ*2=10
u1@mmX75:~ $

感想
  •  自信を持って、明確にヒア・ドキュメントを使えるようになった。
  • 「echo -e」の解説; 下記の本の「p71,72」が簡明で、その様に動作した。
    • Arnold Robbins, "bash Pocket Reference", O'REILLY, 2010
    •  ISBN: 978-1-449-38788-4 
  • 動作環境
    • Mac mini (mid 2011), Lion 10.7.5
    • bash --version
      • GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)
____
この記事の履歴
  1. 開始 2013-05-10(金) 14:57:11 
  2. 修正 2013-05-12(日) 02:30:18 
  3. 追加 2013-05-13(月) 17:11:01 EXAMPLE6

2013-04-27

シェルスクリプトをターミナル無しに実行するには

自分で書いた幾つかのスクリプトは、KeyRemap4MacBookのサポートによって、キーボードから直接起動したい。それについて、KeyRemap4MacBook-jpで、hisayaさんから高山さんのサイト;
をお教え戴いていたが、My flipped around Logicool Keyboard K811 with Logi...の工作に時間が取られて手が出なかった。

工作が一段落付いたので、このテーマに手を出す事にした。

初めてなので、高山さんの資料を読み、流れを頭にいれてから、[まとめ]サンプル・プログラム「FirefoxProfileManager.app.zip」に付いての説明書き;
  • このサンプルを落として、 core.sh と icon.icon を差し替えれば OK。
に従って、Finderでの「ドット・ファイル」の表示のトグルをさせる「dotf」というスクリプトのアプリケーション化を行った。

気を良くして、全部手動で書いてみたが、エラーが多くて閉口した。で調べると、
というアプリケーションがあった。これはただ直接呼べるアプリケーション化だけではなくて、「Status menu」からも呼びさせる様になるようだ。

そこで2つ作ってみたが、一勝一敗であった。まあ、段々と整備しよう;


実は、KeyRemap4MacBookから直接起動するので、アイコンは要らないのですが、初めて作ったアプリケーションなので、笑……。

その後、スクリプトのplatypusを使ったりしたが、使用条件が厳しそうなのので、シェルスクリプト型の支援を探したら;
にシンプルなスクリプト、mkshellapp.shが公開されていたので、それを元に、アイコンも付けるスクリプト、ss2appに改造させて戴きました;
 #!/bin/sh

#http://karukumac.blogspot.jp/2013/02/mac.html
# mkshellapp.sh - make application from shell_script
#
# ss2app: 2013-04-28(Sun) 20:02:07 by mNeji
#
# これからアプリケーションを作りたいディレクトリ、HOGEを作って置き、
# スクリプト、hoge.shと、其の画像アイコン、hoge.icnsをHOGEの中に用意する。
#  通常の画像ファイルを.icnsに変換するのは;
#   iConvertのオンライン・サービスが便利:
#      http://iconverticons.com/online/#
# TerminalでHOGEに移動して;
# 「$ ss2app hoge.sh 」を実行すると、
#        hoge.appが生成され、
#         hoge.sh,hoge.icnsはhoge.appの内部に移動する。


PROG=`basename $0`
USAGE="Usage: $PROG shell_script"

case $# in
1)  scr="$1" ;;
*)  echo $USAGE >&2
    exit 2 ;;
esac

app_name=`basename "$scr" .sh`.app
#app_icon="applcon.icns"
app_icon=`basename "$scr" .sh`.icns

mkdir -p "$app_name"/Contents/MacOS
mkdir -p "$app_name"/Contents/Resources


if [ -x "$scr" ]; then
    cp -p "$scr" "$app_name"/Contents/MacOS
    rm -f "$scr"
else
    echo "Error: $PROG: $scr is not found or not executable." 2>&1
    exit 1
fi

if [ -f "$app_icon" ]; then
    cp -p "$app_icon" "$app_name"/Contents/Resources
    rm -f "$app_icon"
else
    echo "Error: $PROG: $app_icon is not found." 2>&1
    exit 1
fi

cat << EOF > "$app_name"/Contents/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>CFBundleExecutable</key>
    <string>`basename "$scr"`</string>
    <key>CFBundleIconFile</key>
    <string>${app_icon}</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSignature</key>
    <string>????</string>
  </dict>
</plist>
EOF

echo "$PROG: $app_name successfully created."


----
この記事の履歴
  1. 開始 2013-04-27(土) 15:45
  2. 追加 2013-04-28(Sun) 20:36  mkshellapp.sh ss2app

2013-04-24

My flipped around Logicool Keyboard K811 with Logicool Mouse t400 and their common palm pad system

キーボード、K811廻りはApple組で練習していたので、手っ取り早く出来た。ところが、マウス、t400の操作性が、これまでに使った事の在るLogicool製品と大きく違い、それに適応する条件を見つけるのに手間取り、既に出来ているキーボード廻りに急遽付け足したので、難航した。
さて、マウス、t400の操作性の問題点を書き出しておくと、」
  • 指の長さ方向のサイズが小さいので、タッチ・ゾーン部分をスクロールしようとすると、マウス全体が動いてしまい易い。
  • かとって、本体にシッポを付けると安定化するが、見栄えも操作性もわるい。
  • 唯一、テーブルの縁に掌を付けて操作すると安定した。
そこで、トライ&エラーで回避法を見いだして、その実装をした。図0.aには前回試作した「Apple Wireless Keyboard and Magic Trackpad; both are flipped around」の下に図0.bとして今回試作した「Logiteck Keyboard, K811 and Mouse, t400; only K811 will be flipped around」を示す。マウスの稼働域はトラックパッドよりも大きいのが判る。

図0 前回試作と今回の試作の比較

図からは判らないが、Apple組は電池の部分が高く、机面から20mmあるが、Logicool組15mm程である。実際に手を置いてみると、威圧感は改善されている!電池の改良が進めば、10mm程になり、ますます使いよくなると思われる。

Logicool組の最新形状は;

図1 Logicool組の最新形状

それぞれの部分を説明する;
  • K811とt400に共通な木製パーム・パッド(Common parlm-pad for K811 & t400: woody bar)
    • キーボード操作中の掌を安定させ、指の位置取を容易にする。
    • キーボードとマウスとの右手の動きをガイドして、操作を安定化する。
  • K811のゴム製パーム・パッド(Parm-pad for K811: rubber)
    • 掌の荷重を分散して、疲れ難くする。
  • t400のスポンジ製パーム・パッド(Parlm-pad for t400: foam rubber)
    • マウス操作には、上腕の長軸についての回旋によって、前腕が右にスウィングする(自動車のワイパー運動に似ている)。
    • 従って、指先の位置は「キーボードのホーム・ポジション」よりも画面よりに動く。
    • この為に、共通な木製パーム・パッドよりも画面寄りで、右側に拡がるので、このスポンジ製パーム・パッドが必要と成る。
  • t400の高い摩擦係数を持つシート(highly-frictional sheet for t400)。
    • ここにマウスの左半分を乗せると、動きが抑制される。
    • 従って、安定的なスクロール動作ができる。
    • 長文のhtmlやpdfの閲覧が快適となる。
    • 実際の動きで、検討を重ねたい。
「t400の高い摩擦係数を持つシート」については、次の図2,3を参照下さい;

図2 マウスの左半分を乗せる、

図3 中指だけでスクロールを出来る。

なお、スクロールは上下方向が主であるが、左右方向も少しは動く。

これまでマウスを机面に置いただけで操作して来たが、操作性の向上の為に、マウス・パッドを検討してみたい。

これから、愈々、KeyRemap4MacBookによるK811の調整を始めたい。

————
この記事の履歴
  1. 開始 2013-04-24(水) 19:21

2013-04-15

Logicool Bluetooth Easy-Switch Keyboard K811 & Keycap exchange

先日購入したLogocool製のマウスt400が Lion10.7.5で順調に動き出した。そこで、売り場でt400の近くにあったK811は作りが確りしてたので興味が出て来たので、アマゾンから購入した。もはや秋葉原よりアマゾンの方が安いのには驚かされるなぁ。

一日、ノーマルで使って見たが、中々であった。「Apple Wireless Kyeboard」と比較しても;
  • 傾斜が少なく、全体にフラット
  • キーキャップの四隅のRが大きいので、母指でファンクション・キーを操作する時に素敵。
  • キー・ストロークは「Apple Wireless Kyeboard」とほぼ同じ。キーキャップ間上の指滑りの感覚は少し良好。
  • 「1回の充電で10日使用化」とあるがバックライト切りでどれ程伸びるか? 充電し易いケースを考慮するべきだろう。
全体として、「Apple Wireless Kyeboard」の特徴を丁寧にトレースしているので、キーキャップの構造も大幅に変わっていないと思われたので、試しに「/」キーのキーキャップを外してみた。

図1a 「/」キーのパンタグラフと、キーキャップの爪に対する端子部。

図1b 「/」キーのキーキャップの爪


取り方は、左手で薄いヘラを持ち、キーキャップの上方から差し込み、軽く持ち上げる。右手の示指をスペースに入れて、軽く引き上げると「カッタッ」という音とともに「メインの爪が外れる」。そのままキーキャップを垂直まで引き上げて「サブの爪が外れる様に軽く捻る」。この時の音はしないようですが、安心して下さい。

図2 「M」キーのキーキャップを外し始める状況。
入れる時は逆のプロセス。注意するべきは、「サブの爪」は弱そうなので、軽い動き意識すること。

このヘラは、東急ハンズで買ったのですが「薄くて平面タイプ」が使いよかった;

図3a ヘラ正面図

図3b ヘラ側面図

図3c 製造元


で「my flipped around Logicool K811」の姿、図4a、と構想図(Ver.2.0)、図4b;

図4a 「my flipped around Logicool K811」, Ver.2.0.

図4b Flipp around Ver.2.0;構想図


取り敢えず、t400との共通パーム・レストのプロトタイプ。

図5 「K811+t400」の共通パーム・レストのプロトタイプ。


愈々、問題はK811の「2-key rollover問題」がどうなるかが運命を決める訳だ。私の推測では、Logitechは専業メーカの威信をかけて、Appleよりも劣化した規格での妥協はしないだろうと思っている。最低限でも同一のマトリックス配線を使っているのではないか。


____
この記事の履歴
  1. 開始 2013-04-15(月) 15:14
  2. 修正 2013-04-18(木) 08:30  2key rollover → 2-key rollover、Logitechは専業メーカ
  3. 修正 2013-04-20(土) 12:43 typo

2013-04-12

マウスの世代交替とCursorSenceの導入

長年使っていたマウス(Logicool, G5 Revolution ??)不安定な挙動を示しだしたので、先日眺めていた「Logicool, Zone Touch Mouse t400」 を購入した。このマウスの特徴は;
  • スクロール用のホイールの替わりに小さなタッチ・パネル(Touch Zone)が着いている、
  • 側面がボート状の構造で、ゴムに縦溝が付いており、もちやすい。
  • 難点は、Macは保証対象ではないものの、こちらにはKeyRemap4MacBookという強力な味方があるので、怖くない。
ということで購入した。
取り敢えず、通常のマウスは動くので、ホッ。このマウスは見た目、2ボタンなのだが、タッチ・パネル自体が前後にボタンと成っている。このボタン挙動をKeyRemap4MacBookのEventViewerで眺めると;
  • その前方の2/3部分が「キーボードの⌘_L」で、
  • その後方の1/3部分が「マウス・ボタンのMiddle」となっている。
    • 不思議な事に、これを押すと画面中央に「黒い縦方向スクロール」らしきマークがです。このときマウスをうごかすと、高速なスクロールができる。やや速過ぎる感じも有るが、慣れの問題かもしれない。
で、KeyRemap4MacBookでxmlを書いた;
    <item>
          <name>my click buttons setting for Logicool Zone Touch Mouse t400</name>

          <item>
            <name>my Logicool t4oo</name>
            <identifier>private_Logicool_t400</identifier>
               <deviceproductdef>
                <productname>
                       my_Logicool_t400
                 </productname>
                <productid>
                    0x046d
                </productid>    
               </deviceproductdef> 
              
              <item>
                <name>forward-(2/3) part of touch zone:(⌘_L) to (LEFT)</name>
                <identifier>private_pointingbuttontopointingbutton_⌘_LtoLeft</identifier>
                <autogen>__KeyToPointingButton__ KeyCode::COMMAND_L, PointingButton::LEFT</autogen>
              </item>     
     
              <item>
                <name>backward-(1/3) part of touch zone:(MIDDLE) to (RIGHT)</name>
                <identifier>private_pointingbuttontopointingbutton_Middle2Right</identifier>
                <autogen>__PointingButtonToPointingButton__ PointingButton::MIDDLE, PointingButton::RIGHT</autogen>
             </item>  

              <item>
                <name>Right of Middle</name>
                <identifier>private_pointingbuttontopointingbutton_Right2Middle</identifier>
                <autogen>__PointingButtonToPointingButton__ PointingButton::RIGHT, PointingButton::MIDDLE</autogen>
             </item> 
          </item>     
    </item>

あとは使いながら、何がベストかを探してみよう。
さて、タッチ・パネルは、お世辞にも動きが悪い。確かにあまりホイールは興味が無い方だったので;

図1 System Preferences → Mouse

調べる内に、「System Preferences → Mouse & Trackpad」の下に在る「Mouse Options…」を思い出したので調節した;

図2a. System Preferences → Mouse & Trackpad
図2b. System Preferences → Mouse & Trackpad → Mouse Option…

でも、最早、限界! そこで検索すると、興味深いサイトに遭遇した;
自分の感じでも「移動速度が素直に上がらない」と感じていたので、「Cursor Sense ver. 1.1」を導入してみた。結果、大部感じが良くなった。面白い事に、「Magic Trackpad」のスクロールもキビキビしてきた。夫々は別々に指定できて;

図3a. Logicool t400.



図3b. Apple Magic Trackpad

である。
もう少し改善できそうだが、あとはタッチ・パネルへの指の接触の仕方にある種のアプローチがかる感じもする。

【追記】t400にも自然なスクロールを!

キーボード、「Logicool K811」との共通パーム・レストのプロトタイプを元にVer.2.1の材料を購入して来た。ちょっと息抜きに「 Apple Magic Trackpad」と「Logicool t400」とを同一の設定にしてみたら、t400のスクロール性能が自然になって来た。図4a,b.を参照。ただマウス・カーソルの細かな動きがフワッットし来た。一度、マニュアルを見ないと駄目かな。

図4a Logicool t400
図4b. Apple Magic Trackpad

【追記】CursorSenceのマニュアル?

御本家のサイト、CursorSence 、を探してみたが、「Disable Acceleration/Sensitivity」の記述が無いようだ。一度問い合わせてみるかな。
____
この記事の履歴
  1. 開始 2013-04-12(金) 00:41
  2. 追記 2013-04-15(月) 23:02 【追記】t400にも自然なスクロールを!
  3. 追記 2013-04-21(日) 02:08 【追記】CursorSenceのマニュアル?

注目の投稿

Terminalでの、なんちゃってViモドキ

近頃、ようやくKarabiner-Elementsに慣れてきたので、 Terminalで動作する「擬似Vi-Mode」を作って見たので、ご紹介します。 『概要』 「擬似Vi-Mode」の所以は、方向キー「←↓↑→」を通常の「hjkl」ではなくて「jkil」としました。これ...