2011年12月30日金曜日

Series7 BBenchとCristalDiskMark

BBench 1.01
普段使いの設定、キーストローク/Web巡回ありで100->5% 3時間28分


-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   232.500 MB/s
          Sequential Write :   190.114 MB/s
         Random Read 512KB :   168.314 MB/s
        Random Write 512KB :   205.432 MB/s
    Random Read 4KB (QD=1) :    13.248 MB/s [  3234.5 IOPS]
   Random Write 4KB (QD=1) :    32.768 MB/s [  8000.0 IOPS]
   Random Read 4KB (QD=32) :    99.400 MB/s [ 24267.5 IOPS]
  Random Write 4KB (QD=32) :    56.918 MB/s [ 13896.0 IOPS]

  Test : 1000 MB [C: 68.8% (34.4/50.0 GB)] (x5)
  Date : 2011/12/29 13:55:32
    OS : Windows 7 Home Premium Edition SP1 [6.1 Build 7601] (x64)

2011年12月19日月曜日

Magnification API

Magnification API
ググると最初にヒットしてくるMagnification APIの説明はDeveloper Previewのものらしく、以下は現在のWindowsSDKにはない様子。
MagGetFullscreenColorEffect
MagGetFullscreenTransform
MagGetInputTransform
MagSetFullscreenColorEffect
MagSetFullscreenTransform
MagSetInputTransform
MagShowSystemCursor

取りあえずジェスチャとマウスで操作できる64bit拡大鏡(32bit版は64bitウィンドウズ上では動作したりしなかったりするバグがあるのでパス)を作ってみたものの、現状拡大表示ウィンドウに対する処理はできず。

拡大ウィンドウ内にカーソルを表示するには拡大前のカーソルを表示する必要があり(逆に拡大カーソルだけ消すことは簡単にできる)、(大抵の場合)拡大前のカーソルと拡大後のカーソルが別の位置に出てくる等、操作の透過はかなり厄介そう。

2011年12月14日水曜日

拡大鏡バグ

64bitWindows7上のエアロON状態で32bitコードの拡大鏡を実行すると時々画面が出ないバグがあるようで、初めてx64コードをビルドしました。

http://social.msdn.microsoft.com/Forums/en-SG/windowsaccessibilityandautomation/thread/13888a8b-b194-4dcd-ae56-012533666722

月曜までにくぱぁ拡大鏡のデモを作ろうと思っています。

2011年12月7日水曜日

Seies7 Slate:Saiで筆圧取れることが判明(12/09夜追記)

EP121用のドライバー入れたらSaiで筆圧感知するようになりました(久しぶりでSaiの使い方忘れてるw)。
今は時間ないのでこれにて

(夜追記)
ペンが近づいた時のタッチ自動OFFは有効、他特に問題は見つからず。

2ボタンのペンスイッチも設定可能。

私が使っているのはUP-911E-01DDという液晶タブレットCX-1500用の太いペン。
オン荷重が軽いというUP-811Eも使ってみましたが911との荷重の違いは感じられず、ペン先側のスイッチが911程出っ張っていないので確実に押すために指がペン先から離れ気味になり、使いにくいと感じました(単に慣れ生れかもしれませんが)。

12/09朝追記
Saiがアクティブになっている間だけWM_INPUTメッセージが止まる様子。ウィンドウズタッチは概ね良好に作動しているものの、タッチでの右クリック座標がおかしくなるのか、プロパティのメニューがクリック場所に無関係に左上の左上に出る。


12/09夜追記
ドライバをアンインストールしてもWM_INPUTメッセージが止まることからSaiとハードの相性問題と推定。プロパティメニューが左上に出る現象はドライバー再インストールによりなぜか解消。

2011年12月4日日曜日

Series7 Slate用ウィンドウ掴みツール0.21(12/05 微修正)

タブレットPCでは指でウィンドウ枠を正確にタッチするのは難しく(ペンではあまり問題になりませんが)、ウィンドウサイズの変更がストレスになることがあります。
マルチタッチのジェスチャを使えば楽にウィンドウサイズ変更できると思い、このプログラムを作りました。

注意点
・Series7 Slateでしか動作しません。またハードウェアやドライバーのIDをチェックしているので、将来のアップデートで動作しなくなる可能性があります。
・タッチをOFFにしても切れません(タッチOffの検出方法がわからない…)。
・現状5本指ドラッグを使用しているアプリケーションは確認していません(ソフトキーボード起動は5本指タップ)が将来何かのアプリケーションで5本指ドラッグを使用することがあるかもしれません。

使い方
・適当なフォルダにおいて起動してください(起動時は最小化状態)。
・5本指でウィンドウを掴むつもりでタッチパネルに接触させます。
・指を上げないで、指先をすぼめたり広げたりすると掴まれたウィンドウのサイズが変わり、指を移動させるとウィンウドが移動します。

設定
・タスクバーのアイコンをクリックすると設定ダイアログが開きます。
・使う指の本数が3-5本の間で選べます。
・動作を一時停止することができます。
・設定項目は保存されません。起動パラメータで数字を与えると使う指の本数を事前に決めておくことができます(バッチなどで起動することを想定)。

http://dl.dropbox.com/u/17137175/clsp.exe

12/05追記
サイズ変更に時間のかかるウィンドウでのディレイを少し改善して0.21になりました。

2011年12月3日土曜日

Series7 Slate用ウィンドウ掴みツールのデモ

タブレットPCではウィンドウサイズの変更が難しいですが、マルチタッチを使えばなんとでもなると気が付きました。構想半日、やっつけで作ってみたらあっさり動くじゃないですか。

http://www.youtube.com/watch?v=4yy4KJkrDvU
動画ではやっていませんが、イラスタなどの描画の遅いアプリのリサイズをするとひどいディレイがおきます。

画面回転への対応とか、他アプリの干渉防止とかやらなきゃいけないことが沢山残っていますが解決したら公開します。

2011年11月27日日曜日

Series7 Slate ユーティリティランチャを調べた

マルチタッチジェスチャを使った操作を行う目途がついたものの、各ユーティリティの起動で2/3/5(なぜか4タッチでも5タッチと同様に動作)タッチジェスチャ(2点下フリック以外はタッチ点数しか見てないようでジェスチャとは言えないかもしれないけど)が使われているため、停止する方法がないか調べました。

わかったこと

○ソフトウェアアップデートが来ていた
Easy Software Managerを起動してみたらファームを含めた6件(うろ覚え)のソフトウェアにアップデートが来ていました(公式のダウンロードページでは最近の更新が無かったから最初から最新状態だと思ってた)。

○Series7 Slate バッテリー保護モードがないのを確認
マニュアルを見るとOptionalとしながらもバッテリー保護モードに関する記述があったので、Easy SettingとBIOS設定を見てみましたが、実際にはバッテリー保護モードに関する設定はありませんでした。
Smart Battery Driverをインストールしてみたけど常駐はするもののバッテリー保護動作はしていない様子(ACPIドライバーとの相性問題で動作しないケースがあるとか)。
Series7の気に入らないポイント2位に浮上(今の一位はSaiの筆圧)。

○ユーティリティランチャ
C:\Program Files (x86)\Samsung\Touch Supporte\InputSupporter.exe
を停止すれば、ジェスチャによるユーティリティ起動を止められます。副作用は特には見つからず、InputSupporterを起動しなおせば再びユーティリティが呼び出し可能になることを確認。

自由にジェスチャを使える見通しがついて、夢がひろがりんぐ

ソフトキーボードにSeries7 Slateのペンボタン拡張組をみ込み

ワコム拡張ドライバーが動作するようになったため、この内容は古くなりました。(12/07更新)

ペン先側に近いボタンにCtrl+Zを、ペン先から遠いボタンに右クリックを割り当ててペンを画面から浮かせたまま操作していた私にとって、1ボタンペンしかサポートしない事がSeries7に対するもっとも大きな不満で(もう一つの不満であるSaiへの非対応については、Saiの使用頻度が多くないことから、イラスタに変えても良いと考えていま)した。

幸いRawInput情報に2つ目のボタンの情報も含まれていたので、作りかけているソフトキーボードにSeries7の場合はペンボタンを上記の設定で使用する機能を追加してみることにしました。

http://dl.dropbox.com/u/17137175/softkeyS7.exe

注意
・意図して損害を与えるコードを入れたつもりはありませんが、ソフトキーボードはまだバグが残っています。
キーがダウン状態で固定されることがあります。
ウィンドウが消えることがあります。
・現状ペンボタンの機能を設定できるようにも、ペンボタン機能を切れるようにもなっていません。Series7で使用した場合、コントロールパネルの設定にかかわらず
ペンの第一ボタンをONにするとCtrl+Zのキーコードが送られます。
ペンの第二ボタンをONするとマウス右ボタンダウンコードが送られます。
ペンの第二ボタンをONするとマウス右ボタンアップコードが送られます。
・一応検査はしましたが私は無料のアンチウィルスソフトしか使っていません。

タッチオンオフに関わらずマルチタッチジェスチャで操作することもできそうだけど、デフォルトのジェスチャ止めないと混信してしまいそう。

2011年11月24日木曜日

Series7のペンとタッチ情報を調べた(11/24追記)

ワコム拡張ドライバー
・7.01 インストールできず
・5.08 インストールはできるものの動作せず

TM2Control 1.3
・タッチOn/Offの制御が効くことを確認
・画面回転が効くことを確認
その後画面が自動回転しなくなった(これが原因かは未確認)
(11/24追記:自動回転ロックスイッチを触ってしまっただけの模様)
システム復元で回復

RawInputAPI
・ペンから8バイトのデータを受信しており、2ボタンのペンからはボタン情報が取れることを確認
・タッチでは58バイト(1タッチごとに7バイト)のデータを受信しており、タッチOffでも送信されてきているのを確認

ペンボタンでアンドゥするツールを作れそうでホッとした。
本当は昨日作るつもりだったが、夕方寝ておきたら日付変わってた。

2011年11月20日日曜日

Samsung Series7 Slate(03US)購入 (12/07ワコム拡張ドライバーについて修正)

○Series7 Slateについて
細かいスペック等は調べてもらうとして概略だけ
ワコム電磁誘導ペンと正殿式マルチタッチが使える11.6型画面のピュアタブレット型WinowsPC
http://www.youtube.com/watch?v=GH55ZTKaGc8

○入手経路
米アマゾン\109,638
輸入代行$55
輸入時消費税?\3,100

○期間
販売元->輸入代行6日
輸入代行->配達6日

○調べようとしてもわかりにくかった事など
・03USにはキーボードとドック付属
・128GBモデル(2パーティションに分割等分されている)で空き容量は70GB前後(容量調べる前にインストール初めてしまったので詳細不明)
・インクコントロールやイラストスタジオでペンの筆圧有効、Saiでは無効(12/07 EP121のドライバーでSaiでも筆圧有効に)
・従来のワコムセンサ使用タブレットPCと同様に、ワコムの旧液晶タブレット(sx-1500等のインティオス化前のモデル)用ペンが使用可能
・ワコム拡張ドライバーは機能せず、ペンへのボタン割り当てやキャリブレーションは素のWindowsタブレットの物を使用する。そのため変更の自由度が少なく、ボタンが二つあるペンでも二つ目のボタン別に設定することができない。(12/07 EP121のドライバーで2ボタン割り当て可能に)

○ペンとタッチの精度
・タッチパネル感度は従来のワコム製タッチパネルとは比べ物にらないほど高い
・感度高すぎて、タッチアップ時に不用意に動かすと意図しないハネが出たりすることも
・マルチタッチ時、タッチ点間の距離が2cm以下になると混信する(http://www.youtube.com/watch?v=vrTEwdNPEII)
・ペン精度は従来のワコムペン使用タブレットPCと同程度(使ったことある人ならわかると思いますが、ペン先とカーソルに多少のズレはあるものの、ひどいズレはないというレベル)。N-trig製のデジタイザと比べると、位置精度は多少優秀な程度だが筆圧精度はかなり高い。

○伝統的ウィンドウズタブレットPCとしての素性の推測
・ワコム拡張ドライバーによらないプレーンなタブレットPCに、サムスンのギャラクシータブ等のタッチパネルを移植したもの?

○気に入らない点
・ペンボタンを設定できない(いつもペンボタンにアンドゥを割り当てているので結構痛い)
・故障の不安
・USBコネクタが少ないドック(1個しかない)
・Saiで筆圧が使えない

○気に入った点
・軽い、薄い
・atomタブレットにはないキビキビ感
・感度の高いタッチパネル(従来のワコムセンサ使用タブレットPCはタッチ感度が低く使用感がよくなかった)
・明るいディスプレイ
・ファンがついているため多少音は出るものの、負荷が低い状態ではファンレスatom機より熱くない
・起動が早い(コールドブート15秒、スリープ復帰2秒)
・マルチタッチを生かしたジェスチャによる操作に期待(まだちゃんと試していません)

今のところはよい買い物をしたと思っています。

ソフトキーボード、いったんまとめ

http://dl.dropbox.com/u/17137175/softkey.exe

○変更点
バグ修正
SEを押した時、斜め方向入力時、カーブフリック入力時とした
押したキーを反転表示するように


○概要
個人的趣味に合わせて作っているフリックキーボードです。
設定変更などはテキストファイルを書き換えて行う等、まだ人様に使ってもらう完成度には達していません。

○カーブフリックについて
デフォルトではオフになっていますが、カーブフリックに対応しています。
カーブフリックはマイクロソフトかWindowsフォンで採用した改良型フリックで、通常のフリックの中央/十字方向へのフリックによる1ボタンでの5文字打ち分けに加えて、以下が追加され濁音やています。
1.左斜め上フリックによる、小さい「ぁ」と「ぱ」の入力
2.右斜め上フリックによる、濁音の入力
3.十字方向フリックの左カーブによる小さい「ぃぅぇぉっ」と「ぴぷぺぽ」の入力
4.十字方向フリックの左カーブによる濁音化

Windowsフォンは使ったことがなく想像での実装のため、本家とは使用感が違うかもしれません。

○使用方法
設定用テキストファイルを書き出すので書き込み可能なフォルダに置いて実行してください。
タイトルバーをダブルクリックすると左右分割します。
アクティブ状態でウィンドウ内をドラッグすると、サイズ変更やウィンドウの移動ができます。
タイトルバーやアクティブ状態のウィンドウを下フリックすると最小化します。
タイトルバーやアクティブ状態のウィンドウを左/右/上フリックするとウィンドウを小さくして画面の端に移動します。

○設定方法
起動すると作られるwinpos.txtを書き換えて設定します(読み込みは起動時のみ)。
winpos.txtの例と説明
10.12 <--カーブ判定値、1以下でカーブフリック有効化し、値が小さいほどカーブと判定されやすくなります。
7 <--十字方向フリック判定距離、これ以下だとフリックと判定されません。
25 <--カーブフリック判定用中点距離、これ以下の距離ではカーブ判定されません。
40 <--カーブフリック確定距離、これを超えるとキーアップしなくてもカーブが確定し文字が入力されます。
2.4 <--斜め方向の判定値(水平側)、小さくすると斜めと判定されにくくなります。
2.4 <--斜め方向の判定値(垂直側)、小さくすると斜めと判定されにくくなります。
0 100 330 218 <--ウィンドウ初期位置とサイズ、毎回終了時点で書き換えられます。
0 <--初期モード(終了時のモードで書き換え)

2011年11月3日木曜日

ソフトキーボード 移動,サイズ変更とサウンドの仮実装

http://dl.dropbox.com/u/17137175/softkey.exe

・タイトルバーを下フリック時に最小化、上左右フリックフリック時にウィンドウを小さくして画面の端に移動するよう修正
・ウィンドウアクティブ時のキーボード部分フリックでも同上
・ウィンドウアクティブ時のキーボード中央部のドラッグでウィンドウ移動するように修正
・ウィンドウアクティブ時のキーボード周辺部分のドラッグでウィンドウサイズ変更するように修正
・キータイプ音追加

ちょっとやっつけ気味。

2011年10月30日日曜日

ソフトキーボード 最大化時の左右分割実装

http://dl.dropbox.com/u/17137175/softkey.exe
(QWERTY版)


あと自分用に改良したいのは
・ウィンドウサイズを変更しやすく
・入力音
程度

人に使ってもらえるレベルにするには
・設定ダイアログ
・フリックガイド
・配列変更ツール
等々の改良が必要だけれど、最近飽き気味。

どうなるやら

2011年10月22日土曜日

複数ウィンドウでのタッチ入力

内部構造の見直しは停滞中。フリックガイドを出すためには必要なことだけど、自分で使う分にはフリックガイドの必要性が高くないので気が乗らない。

代わりにキーボードを左右分割できるように複数ウィンドウ化してみてわかったこと。

1.タッチメッセ―ジを受け取れるウィンドウは一つ
ウィンドウAにタッチしたままウィンドウBにタッチしてもウィンドウBにはタッチ情報が送られない
2.ウィンドウ外から始まったタッチ情報は受け取れない
1の例ではウィンドウBをタッチした情報はどこかに消える
3.タッチ検出後ウィンドウ上に別のウィンドウを出しても、元のウィンドウにタッチ情報が送られ続ける
フリックガイドを別ウィンドウにして上に被せても問題なさそう
4.ウィンドウの完全透明部分ではタッチ情報を受け取れず、下にあるウィンドウに送られる
黒を透明色にしていたら、閉じるボタンの影からタッチが下に漏れてた
5.タッチ情報を受け取るウィンドウが変わるのは、一度全てのタッチが終了した時

複数ウィンドウではマルチタッチ対応できなさそうなので、一つのウィンドウをマルチウィンドウに見せかけることにした。

2011年10月17日月曜日

ソフトキーボード10.16

データ構造見直しは気が乗らなくて進まず。
ダブルフリックの実験で日本語配列を横に二つ並べてみる。
両手フリックはできるものの左手では左側のキー、右手では右側のキーを押す癖がついていて、きれいに左右交互に打てない。

2011年10月12日水曜日

ソフトキーボード10.11

フリックガイド表示のための内部データの見直しにまだしばらくかかりそう。

バグを2件見つけたので修正
・ウィンドウ初期モード設定時の不正な処理
・フリックなし時オートリピート不良

http://dl.dropbox.com/u/17137175/softkey.exe

2011年10月10日月曜日

ソフトキーボード10.10

フリックガイド表示と設定自由化に向けた内部のキーデータ見直し中(まだ時間かかりそう)

バグ修正
・フルモードのQをOと間違っていたので修正(汗)
・モードをセーブ対象に追加

http://dl.dropbox.com/u/17137175/softkey.exe

2011年10月9日日曜日

カーブフリックキーボード10.08版

バグはあるでしょうが、本体機能は大体実装したつもり。

マルチタッチ日本語フリックキーボード(Windows7用)10.08版
http://dl.dropbox.com/u/17137175/softkey.exe
使用は自己責任でお願いします。

・フリックガイドや入力文字ポップアップ等が出ない
・フリック感度等の設定がテキストファイルの修正でしかできない
・デフォルトでカーブフリックはOFF

○カーブフリック有効化の仕方
終了時に更新するwinpos.txtというテキストファイルから、次回起動時に設定を読み込みます。
最初のパラメータを1未満に書き換えるとカーブフリックが有効になります。

winpos.txtの説明
10.12 カーブ判定値 1以上だとカーブフリックOFF
7 フリックなしと判定する範囲
25 十字方向のフリックが確定する距離
40 カーブ含めてフリックが確定する距離
2.2 斜め方向縦軸側範囲(2.4で45度から均等割した角度、1で45度ちょうどしか斜め判定されない)
1.303 斜め方向横軸側範囲(2.4で45度から均等割した角度、1で45度ちょうどしか斜め判定されない)
547 835 330 216 ウィンドウ位置

○今後の予定
・入力文字ポップアップ追加
・フリックガイド追加
・設定ダイアログ追加

○できたらいいな
・配列変更可能に
・キーボードを左右分割可能に(これはしないかも)

2011年9月29日木曜日

カーブフリックキーボード作成日記(ローマ字入力モード対応修正)

デバッグ疲れた。
これまではひらがな入力モードでしか使えず、日本語フリックモードにはひらがな入力モードで入力できる文字しか配置できなかったので、ローマ字モード対応と日本語フリックモードへの英字の配置の修正中。

2011年9月26日月曜日

カーブフリックキーボード作成日記(CG仮組込)

今日の作業
・CGの組み込み(配列間違いや減色に手間取る)
・CGに合わせてキー定義変更(未テスト)
・ime状態取得実装
・ime状態に基づくキーボードモード更新をやっつけで実装

モード更新とキー定義のチェックにもう少しかかりそう。

現在フリックに設定されているキーはアップするかオートリピートが始まるまで入力されないため少しじれったい。特定の距離を超えたら即時確定するように変更してみるつもり。

2011年9月25日日曜日

カーブフリックキーボード作成日記(盤面CG作成)

前から作っていたカーブフリックキーボード(Windows用)が自分専用にならそこそこ使える状態になってきました。
未だユーザーインタフェイスは設定変更毎に再コンパイルが必要などお察しレベルですが、それは次の段階でなんとかするとして、まずは
・盤面CG等をネット上で拾った素材を改変して使用している
・IME操作をカスタマイズしたキーストロークで行っているので自分の環境でしか動かない
を解消してとりあえず公開できる状態にしてみようと思っています。

試行錯誤の結果、盤面CGは表計算ソフトでレイアウトしてイラスタで加工することに。

普段携帯でアルファベット入力せずABC配列には慣れていないため、英字モードは普段PCで使っているキー配列に近づけてみることにしました。