フリーカーソルじゃなくて。
slidecursor
以前スライドカーソルを埋め込もうとして、 思う通りにいかず困りました。 ちょっとズレるとサイドバーが開いてしまう。
それが1年半かけて閃きました。 なら、指2本にしたらいいんじゃね?
slidecursor.md
Templaterスクリプトです。
<%* s = "document.ontouchstart=(e)=>{p=e.touches[1].pageX}; document.ontouchmove=(e)=>{x=e.touches[1].pageX;if(x-p>4 || p-x>4){d=document.getSelection();d.modify(d.toString().length?'extend':'move',(p>x)?'left':'right','character');p=x;}}" e = document.createElement("script") document.body.appendChild(e).innerHTML = s new Notice("SlideCursor on.") %>
これを1回実行するだけ。
使い方
画面を2本指で撫でると、それに合わせカーソルが動きます。
アップル標準のフリーカーソルだと上下にも移動しますが、 このスライドカーソルでは左右にしか動かない。 このほうが思ったところに持っていきやすい。
範囲選択しているときは、その範囲の伸縮になります。
起動時に組み込む
Obsidianを立ち上げたとき有効にするには:
Startup templates に登録するだけ。 これで初手から使えます。
指2本の操作系はgesturestart/gesturechangeで拾いますが、 Obsidianでは使えません。 codeMirrorに実装されてないのだろうか。
代わりに「2つめの接点位置で判定する」という方法を採りました。 なので、片方の指で余白を抑え、もう片方でスライドする方法でも カーソル移動になります。 このほうが操作しやすいかもしれない。
DraftPadから愛用してたので、 再現できてうれしい。
カーソル移動はペン回し
iOSはカーソルの移動が難しい。 それでazooKeyには左右のカーソルキーをつけて対処してますが、 そんな実用的な話じゃないんです。
カーソルはペン回し。 アイデアが浮かばないときの手慰み。 だって、文字を打つわけじゃないからテキスト自体は変化しない。 でも指は動かしているので脳の運動野が刺激される。 カーソルに合わせ視線も動く。 ウォーミングアップしてるのです。
バイクのエンジンを吹かす感じですかね。 止まっているのにブルンブルンと唸らせる。 アイドリング。 決して無駄じゃないんですよ。 気持ちを高鳴らせる。 カーソルをスライドさせながら 「さあ、次のフレーズ出てこい」と待っているのです。
待ちつつ攻めの姿勢を維持する。 それがペン回しなのです。
まとめ
ぶるんぶるん。 今も何度も左右にスライド。