CloverPaint雑記

CloverPaintの解説・開発状況・内部仕様・利用法などについてつらつらと

キー設定(ショートカット)機能を大幅に拡張

Clover Paint v1.18を公開しました。

おもに操作系に関するアップデートのため、メモ版でも実装されています。

 

このバージョンではショートカットに登録できる機能が大幅に増え、また、外部のフルキーボードやゲームパッド等を、いわゆる左手デバイスとして利用できるようになりました。

 

 基本的に、以前設定していた機能はそのまま引き継がれますが、「ギャラリー→オプション」内で設定していたハードキーをトリガとしたショートカットコマンド呼び出しや、「ギャラリー→スタイラス」内で設定していたスタイラスボタンをトリガとしたコマンド呼び出しは、すべて「ギャラリー→キー設定」に移動し、その中で新しい形式で設定されています。

 

 以下、「キー設定」内部のコマンドについて、特殊なコマンドや、カテゴリに特徴的な設定・操作方法等について説明していきます。

 

おそらく、少なくともスマホタブレット系のアプリとしては他に類を見ないほど高度で柔軟な設定が可能になっていますが、その分、使いこなすのはかなり難しくなっていると思われます。以下の解説をひと通り読んで、十分に理解してからカスタマイズされることをお勧めします。

 

リピート

キーを押し続けた時の、リピートの開始までの時間と、リピート間隔をここで設定できます。レンジバー(ペン太さ設定などでよく使われているもの)の横にあるボタンを押し続けた時のリピートも、ここで設定した値と同じになります。

また、コマンドトリガで普通のクリックではなく、長押しと判定される時間も、ここの開始までの時間で設定された時間になります。

 

モードシフトキー

他のキーと組み合わせるために利用するキーを指定します。通常のタイピングではSHIFTやCTRL、ALTなどといったキーが他のキーとの組み合わせでキーの動作を変えるモードシフトに利用されますが、Clover Paintではモードシフトに利用するキーをユーザーが任意に選択できます。

AやBなどといったキーをこのモードシフトキーに登録しておけば、A+1~9、B+1~9、A+B+1~9などといった組み合わせを、全く別々のコマンドを呼び出すトリガにすることができるようになります。また、ゲームパッド等を利用している場合は、パッドの4方向をシフトキーにすることで、斜めも合わせて8方向を他のキーのモード変更に利用できます。

ただし、モードシフトキーに登録されたキーは後述の「長押し系のトリガ(タッチを除く)」のキートリガとしては利用できなくなり、クリック押しながらタッチのトリガとしての利用に制限されます。

また、キーボードの種類によっては、通常使われるSHIFTやCTRL、ALT以外のボタンの組み合わせが制限されたり、同時押しが認識されるキーの数が非常に少ないものもあります。それらはハードウェアの仕様ですので、そちらにあわせた設定を工夫してください。

 

 コマンドキャンセルキー

動作中に、ユーザーの操作が継続するタイプのコマンド(例えばペンストローク描画や、カメラの移動、横スライドによるペン太さ変更など)で、操作中にいまの変更をキャンセルして元に戻したい時に利用するキーをここで指定します。コマンドトリガだけでなく、レンジバーのつまみ等でも有効です。

  

スタイラスDown処理の遅延(ms)

スタイラスや指がタッチパネルに触れてから、実際に触れた時の処理を開始するまでの間に、ここで指定された時間分だけ処理を遅延させます。遅延している間もタッチイベントはバッファリングしているため、計算結果としての描画内容に変化はありません。

 

なぜこのような遅延設定を用意しているのかというと、例えば、トリガキーを押しながら画面にタッチすると画面移動になるコマンドがあります。その時、トリガキーと画面に触れるのを感覚的にほぼ同時にした時に、そのイベントを受取るプログラム側では、トリガキーが微妙に遅れてくる場合が半分くらいの確率で起こります。その場合、画面移動にならず普通にブラシ描画してしまうわけです。これがかなりストレスなため、トリガキーを待つための時間としてここで遅延を入れられるようにしました。

ただし、どのくらいの遅延が必要かはそれぞれ感覚や利用している機器により違うし、遅延が大きすぎるとストロークの最初の追従が非常に遅れて気持ちが悪いという人も出てくるわけで、遅延させるくらいなら意識してトリガーを早めに押すようにするという人も多いと思われるため、ここで自由に設定できるようになっています。

 

 

戻る/キャンセル

決定

ダイアログが開いている時にのみ有効なショートカットキーです。確認用のポップアップタイプのダイアログの他に、ブラシの設定やオプション画面等も内部ではダイアログとして扱っているので、このキーが有効です。ただし、戻る/キャンセルは明確にダイアログの中に戻るボタンキャンセルボタンが含まれる時にのみ有効です。それ以外の場合は単純にダイアログを閉じる操作になり、決定と同じ意味になります。

 

 

元に戻す

やり直し

 ごく普通のコマンドですが、リピートが可能なタイプです。

 

←左↑上→右↓下

ファイル出力モードでの画像位置調整、移動モード、変形モードでの位置調整に利用されます。

 

キャンバス移動

キャンバス回転

キャンバス倍率

ここで設定したキーを押しながらタッチするか、ホバーに対応したスタイラスを備える端末ではホバー/長押し中でカメラの移動、回転(左右スライド)、倍率(左右スライド)を行うことができます。

 

キャンバス操作(移動/回転/倍率)

1つのトリガキーで3つのカメラ操作をまとめて出来るコマンドです。トリガキーを押した時に表示される円の内側をタッチしてスライドすると移動、外側を円周に沿って回転させると回転、放射状にスライドすると倍率変更になります。続く下2つの欄で、円の大きさと、ホバーに対応した端末では、ホバーカーソルに円の中心を合わせるかどうかを設定できます。

 

これらコマンドのみでカメラを操作する場合、ピンチによるカメラ操作はむしろ邪魔になるかもしれません。特に大きなタブレットでは手のひらが予期せずマルチタッチのような状態になることがあり、誤操作の原因になるため、これらコマンドを利用した方がやりやすいかもしれません。v1.18からは回転や倍率に加えて、ピンチによる移動操作も禁止するオプションが追加されていますので、ご利用ください。

 

中央表示(?)

キャンバス反転

倍率?%

回転?度

これらは表記された状態にカメラを遷移させます。

トリガとして単純なクリックなどを指定した場合は、その状態に遷移するだけですが、長押し中を指定した場合は少し特殊で、トリガとなるキーを押している間だけその状態になり、離すと元に戻ります。

ただし、遷移している間にペンストロークを行ったり、ピンチ操作を行うと元に戻らず遷移した状態を維持するようになります。

また、クリック長押し中を同じトリガキーで同時に有効にすると、通常クリックだけでは離した時に状態遷移するのが、押した瞬間に遷移して戻らなくなります。マッピングできるキー数に余裕があり、反応がいい方が好きだという場合に利用してください。

 

倍率上げる/下げる

回転反時計廻り/時計廻り

これらは現在のカメラ状態に対して相対的にカメラを遷移させるものです。

 回転にはディフォルトで三本指ジェスチャが設定されています。これまで三本指の同時タップは画面反転でしたが、タップダウン瞬間のコマンド発動をやめ、離した段階での発動に仕様を変更しました。これにより指を上下左右にスワイプしてから指を離すジェスチャ操作が可能になり、三本指ジェスチャに5つのコマンドを登録できるようになっています。

 

アプリケーション終了

アプリケーション終了ダイアログを表示します。

この設定はギャラリー内でも有効です。

 

ペイントへ戻る

 ペイントから遷移したサブモード(移動・変形・範囲選択モード)からペイントモードに戻ります。

 

ナビ表示エリア移動

キャンバス移動コマンドと同じく、カメラを移動しますが、こちらはいま開いているナビゲーションウインドウの表示枠をドラッグしているものとして移動量や方向が計算されます。(ナビウインドウがなければ無視されます)

このコマンドを通して操作する場合は、特に表示枠内を押す必要はなく、またナビのキーイベント透過設定等も無視して操作できます。これと新しくナビに追加されたカーソル表示を利用して、ナビ画面上でペンタブを使った時のような操作が可能になります。これは試験的な実装で、現状実用的ではありませんが、Android4.2から標準追加された外部モニター表示機能により、将来的には別モニターにナビの内容を表示できるようにする計画があります。

 

Clover選択01~30

カラー選択01~30

Cloverツールバーのリストやカラーパレットツールバーのリストにあらかじめ登録されているブラシやコマンド、色を選択します。トリガとして押しながらタッチを選択すると、押している間だけ一時的にそのブラシや色を利用し、トリガキーを離すと元のブラシや色に戻るようになります。

また、「表示設定→回転→+回転状態」「表示設定→倍率→+倍率状態」「表示設定→初期状態→+全状態」で、それぞれ現在の回転状態のみ、倍率状態のみ、移動・回転・倍率・反転すべての状態を保存したCloverアイコンを作成できます。そのアイコンをCloverリストに登録し、ここでトリガを設定すれば、任意の回転、倍率、カメラ状態をショートカットに登録することができるようになります。

 

消しゴム

このバージョンから、消しゴムはいま選択しているブラシの状態を出来る限り保ったまま、透明にするブラシになるように調整されました。消しゴムを特定の状態にしたい場合は、Cloverリスト内のeraserにその消しゴムを登録することで可能です。

 

また、ブラシのCloverはこのバージョンからブラシパラメータのどの部分を保存・変更し、どの部分を現状維持するかを、以前より細かく設定出来るようになりました。これはその他パラメータにまとめて分類されていたパラメータから、ブラシを消しゴムにするために必要なパラメータを分離し、他のパラメータに影響を与えずその部分だけ変更する必要があったためです。つまり、ユーザーが自由に一時的に消しゴムのようになるブラシも作成できるようになっています。

 

太さ調整

ぼかし調整

流量調整

ペン合成不透明度調整

カラー調整 - 色相

カラー調整 - 彩度

カラー調整 - 輝度

カラー調整 - 不透明度

いま利用しているブラシに関するパラメータをバーを利用して調整します。

ホバー/長押し中押しながらタッチをトリガとして使用できます。

バーが表示されたら→で値を大きく、←で小さくします。また、バーを上に移動すると、バー全体が横に縮小され、設定できる範囲全体が表示されるようになります。逆に下に移動すると、現在値を中心とした範囲が拡大され、細かく値を調整できます。

 

スポイト

ホバー/クリックホバー/長押し中押しながらタッチをトリガとして利用できます。ホバー/クリックホバー/長押し中を同時に設定すると押した瞬間から離すまでずっと色を取得し続けます。また、すぐ下の項目でトリガキーを押していない状態でも常に取得する色や現在の色を表示し続けるかどうか設定できます。

 

レイヤー表示ボタン

レイヤーリスト・レイヤーツールバーの表示・非表示を切り替えるボタンをキャンバスから消すことができます。レイヤーリスト開閉のトリガキーを登録していれば必要ないからです。

 

新規レイヤー作成

(その他レイヤー関連)

レイヤーに関する操作です。Clover Paintのみの機能になります。

 

自由選択ツールを選択

(その他ツール選択)

単純なツール選択や、標準であるコマンドのショートカットです。

 

 

個別コマンドに関する説明は以上です。

 

コマンドのライン

コマンドはお互いに干渉するものとしないものがあり、それはラインという概念で管理されています。例えばダイアログでのみ有効なコマンドに登録されたキーは、ペイントモードでも同じキーを使って別コマンドに登録することができます。ただし、キャンバスで使われるコマンドはペイントモードでも選択モードでも同様に利用されるため、キャンバスのコマンドで使ったキーをペイントモードで別のコマンドに登録しようとすると重複しているとして、古いキー設定は削除されます。

基本的には矛盾が生じないようキー設定処理がうまく重複を検出し調整します。なぜ同じキーを登録しても消される場合と消されない場合があるのかという事に関しては、上で説明したような事情があると理解してください。コマンド毎の細かいライン設定に関しては説明が長くなり、あまり意味もないので割愛します。

 

トリガ種類

コマンドのトリガとなるキーを押した時、どのタイミングで、どのようにコマンドが実行されるのかという、トリガ種類は以下のとおりです。

 

クリック

ワンショットのトリガで、座標など他に必要な情報がない、基本的なコマンドを実行するのに利用されます。設定ウインドウの開閉や、中央表示・選択モードへの遷移などです。

クリックのイベント発生タイミングは通常離した瞬間ですが、同じキーでクリックとリピートを同時に有効にした場合、押した瞬間にイベントが発生するようになります。また、ホバー/長押し中と同時に有効にした場合、押した瞬間にイベントが発生するようになるコマンドもあります。

 

ホバー/クリック

(ホバー検知可能なスタイラスのある端末でのみ有効です)

クリックにキャンバス上の座標情報が必要なコマンドで利用されます。

ホバー中のカーソル座標とクリックがコマンドに送られます。

現状はスポイトでのみ設定可能です。

 

ホバー/長押し中

(ホバー検知可能なスタイラスのある端末でのみ有効です)

ホバー中にトリガを押している間だけ有効なコマンドです。

ホバー中のカーソル移動量が画面の移動や、調整バーの設定に利用されます。

長押し中なので、リピート開始時間分コマンド処理状態になるのにタイムラグがある場合があります。(調整バーではカーソルを移動することで即時受け付け状態になります。)

 

長押しトリガ

長押しした場合に発生させるコマンドを登録します。基本的にワンショットなので、設定できるコマンドの種類はクリックと同等です。

 

長押し中

カメラ状態の遷移系コマンド等で、押している間だけコマンドの状態にし、離すと元に戻るという特殊な操作を可能にするトリガです。クリックを同時にトリガに設定すると、押した瞬間に遷移し、そのまま状態が戻らないトリガになります。

2014/02/07 修正 

これまで長押し中クリックを、同じキーで同時に設定すると、押した瞬間に遷移してそのまま戻らないトリガにしていましたが、v1.22.20から独立したコマンドとして動作するよう仕様が変更されます。素早く押すと状態遷移、長押しすると押している間だけ遷移し、元に戻るようになります。また、これは押しながらタッチクリックを組み合わせた時にも同様の動作になります。

 

リピート

カーソル移動やUndoなど、キー長押し状態の時にコマンドが繰り返し送られる事に意味があるコマンドで設定可能なトリガです。通常は同じキーにクリックとペアで設定しておく事をお勧めします。

 

押しながらタッチ

Cloverリスト上に設定されたブラシのストローク等に使われます。

また、ホバー検知機能のない端末では調整バーや画面移動に使える唯一のトリガでもあります。

 

 

これらコマンド呼び出しのトリガ種類はクリック系(上2つ)と長押し系(その他)に大別され、1つのキーにクリック系の中から1つと長押し系の中から1つ、別のコマンドを登録することができます。例えばスタイラスの1つのボタンにクリック系のUndo(クリック)と、長押し系のスポイト(押しながらタッチ)の2つを登録することができます。ただし、組み合わせによっては誤操作の原因になるので、うまく組み合わせて使って下さい。

 

 スタイラス設定に最低筆圧待機処理を追加

「ギャラリー→スタイラス」の一番下に「最低筆圧の待機時間(ms)」と「スタイラスDown判定の最低筆圧(x0.1)」が増えています。これはペアで使われ、スタイラスがタッチパネルに触れてから、後者の筆圧になるまでスタイラスから送られてくるイベントを無視するための設定になっています。触れてから、待機時間で設定した時間になっても一度も最低筆圧を超えなければ、以降のイベントもすべて無視します。待機時間内に最低筆圧を超えれば、バッファに溜めておいた、触れてから今までに送られてきたイベントを一気に処理します。また、スタイラスがタッチパネルから離れたら、この状態はリセットされます。

なぜこのような処理が必要なのかというと、ネット上ではWacomのfeel系スタイラスを採用した端末(あいていに言えば、GALAXY Noteシリーズ)の利用者の中でスタイラスを改造して、最低反応筆圧荷重をほぼ0に近づける方法が広まっていて、半ば一般化しています。ただし、この改造をした場合、端末や改造度合によっては実際にタッチパネルに触れていないホバー状態でも触れたようなイベントが来ることがあり、これがアプリ側の誤作動として表れます。特に改造を推奨するわけではありませんが、それで使い勝手が良くなるのも事実らしいので、このような処理を入れて、誤作動を補正できるようにしたというわけです。

 

 

 

非常に長く難解な説明になりましたが、頑張って実際にキー設定をいじりながら自分なりに使いやすい設定を見つけてください。また、現在左手デバイスはBluetooth接続で様々なタイプのものが発売されていて、手持ちの端末と組み合わせて使いやすいデバイスを探すのも楽しいものです。ただし、端末・デバイスの組み合わせによっては認識しなかったり色々問題がある場合も多いので、その辺のトラブルも含めて楽しめる人に限られますが。(そもそも私がこのような高度で複雑なキー設定を作る気になったのも、iBOW mobileという左手デバイスを使ってどういう操作ができるか興味が湧いたからだったりします)

 

※ Cloverリスト内のeraser以外の特殊枠、menu/back/vol↑/vol↓などの枠もまだ残っていますが、ショートカットとしての機能はなくなりました。そのうち枠自体も消す予定ですので、いまのうちに退避しておいてください。