Jazzと読書の日々

iPadを筆記具として使う方法を模索します

Obsidianに韋駄天スライドカーソルを実装する

フリーカーソルじゃなくて。

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には左右のカーソルキーをつけて対処してますが、 そんな実用的な話じゃないんです。

カーソルはペン回し。 アイデアが浮かばないときの手慰み。 だって、文字を打つわけじゃないからテキスト自体は変化しない。 でも指は動かしているので脳の運動野が刺激される。 カーソルに合わせ視線も動く。 ウォーミングアップしてるのです。

バイクのエンジンを吹かす感じですかね。 止まっているのにブルンブルンと唸らせる。 アイドリング。 決して無駄じゃないんですよ。 気持ちを高鳴らせる。 カーソルをスライドさせながら 「さあ、次のフレーズ出てこい」と待っているのです。

待ちつつ攻めの姿勢を維持する。 それがペン回しなのです。

まとめ

ぶるんぶるん。 今も何度も左右にスライド。