アイコン記法の補完Popupの挙動がわからない
バグなのか仕様なのかわからないmrsekut.icon
バグ報告あるいは質問ですmrsekut.icon
アイコン記法で補完されるときと、そうじゃないときの差異がわからない
https://gyazo.com/6d598d7b30ab579d1d4aef1a71edcea9
https://gyazo.com/5f37919c1d75fd4e56a282c97636ec3f
これの出し分けを意図的にできるのであれば方法を知りたい
アイコン記法popupの存在を知らなかったので、普通にリンクのつもりで入力してたらこれが出た
わかったmrsekut.icon
popupが出てる状態でctrlを押したら表示がtoggleされるんですね
mrsekut.iconは、cursorを行頭/行末に移動させる時にctrl-a/ctrl-eを使うので、それをリンク記法内で行って、意図せずトグったのだと思います
だから、びっくりした
その時は戻し方もわからなかったので
便乗です。ctrl押されたかどうかの判定がおかしいkentarofukuchi.icon
OSの設定で CapsLock に Ctrl を割り当てているのだが、この CapsLock キーを押してもトグルされない
Ubuntu 20.04 + X.Org + Google Chrome 89.04389.114
本来の Ctrl キーを押すとトグルされる
上記環境だと、Ctrl にアサインしたCapsLock キーを押したときにブラウザに渡される keyCode は CapsLock (20) だった
getModifierState() でも判定できないみたい。こりゃこっちの環境の問題と考えた方がいいですね…
Ctrlが押されたかどうかの判定が難しいようであれば、従来のアイコン挿入法(Ctrl-i)を残して欲しい
これは上記環境で問題なく使えていた
ちなみに、mrsekut.iconの環境ではKarabinerを使って同じこと(CapsLockを左ctrlに)してますが、動いてはいます
これオフにしたいmrsekut.icon*2
UserScriptかなんかで
同意しますkentarofukuchi.icon
他にも Ctrl-なんとか、というショートカットを多用するので、Ctrlキー単体の押下に反応されると困る
今はctrlのkeyupになりましたshokai.icon
keydownから他のactionをした場合はkeyupしてもアイコン・ページをトグルしないようにしました
他のactionに限らず、keydown〜keyupの間にあらゆるキー操作をしていない場合だけトグルするようにしてみます
これであらゆるctrlキー絡みの、scrapbox外の操作とも誤爆しなくなるはず
誤爆なくなりましたkentarofukuchi.icon
下で報告されているような問題もいまのところ生じていません
ただ、アイコンの横にスクロールバーが出るようになっちゃいました
https://gyazo.com/510495cf8399dbb05796e3ce0f682a71
これも環境依存や設定依存かもしれませんが、いちおうご報告します
環境は Ubuntu 20.04 + X.Org + Google Chrome Version 90.0.4430.93
なるほどmrsekut.icon*2
と、思ったのですが、mrsekut.iconの環境ではctrl+h/j/k/lでカーソル移動できるようにしてますが、これに反応してしまう
ctrl-hとすると発火する
でもこれはmrsekut.iconの環境依存な気もするので仕方ないか
それもリロードしたら直ってませんか?shokai.icon
このページに書くちょっと前にctrl + j,k,h,a,f,b,e等が来たらスキップするバージョンをリリースしていた
全てがcacheから実行されてるので2回リロード必要な場合がある
今はあらゆる入力があればスキップしています
scrapbox上でカーソルが移動しているなら、カーソルキーの入力を受信できている
それを捕捉してctrl keyupがスキップされるはずです
シークレットウィンドウでログインして試してみましたが、だめでしたmrsekut.icon
適当にリンクで入力[ht|]
この状態では、普通のpopup
|はカーソル位置mrsekut.icon
この状態でctrl+hを押すと、icon popupになる
もう少し詳細に書くと、
ctrl長押し+hのイメージmrsekut.icon
ctrl長押しの状態では切り替わっていないが、hを押したタイミングでiconになる
その後、ctrl長押ししたまま、hを連打でカーソルを移動するが、ずっとicon popupのまま