sakura-editor / sakura

SAKURA Editor (Japanese text editor for MS Windows)
https://sakura-editor.github.io/
Other
1.23k stars 162 forks source link

OSDN #81476 [要望] キーリストに追加希望 #111

Open KENCHjp opened 6 years ago

KENCHjp commented 6 years ago

OSDN会議室からの要望

https://osdn.net/projects/sakura-editor/forums/34071/39670/81476/

[共通設定]-[全般]-[タスクトレイ]-[左クリックメニューのショートカットキー]で指定したショートカットが、 [ヘルプ]-[キー割り当て一覧をコピー] に出力されない。 またコマンド一覧にも記載がない。 http://sakura-editor.sourceforge.net/htmlhelp/HLP000193.html

berryzplus commented 6 years ago

それはショートカットキーじゃなくて ホットキーという別の機能なんです。

ユーザーから見たら同じだろうから入れるのが親切なのかな…

kobake commented 6 years ago

これらの機能初めて知りました。 「キー割り当て一覧をコピー」ってどういうときに使うものなんでしょう?

キー割り当ての「インポート」「エクスポート」の利用用途は分かるんですけど、 「キー割り当て一覧をコピー」ってどういうときに使うのがよく分かっていません。

KENCHjp commented 6 years ago

実は私も初めてしったのですが、 おそらく割り当てたいときにどれかとバッティングしないか調べるためじゃないかなとおもいます。

kobake commented 6 years ago

なるほど。

タブ区切りになっていることを見ると Excel とかに貼り付けることも考えられてるのかな、とかも考えたりしました。 keycopy

kobake commented 6 years ago

本Issueとは関係ないんですけど、「キー割り当てのエクスポート」の書式が人間的には分かりにくい書式なので「キー割り当て一覧をコピー」との良いとこ取りで良い感じの書式に変更したいなーと思いました。

そうすると「キー割り当て一覧をコピー」でコピーする書式をそのまんま「キー割り当てのエクスポート」の書式流用で実装できそう。

キー割り当て一覧をコピーの例

キー  機能名 関数名 機能番号    キーマクロ記録可/不可
-----   -----   -----   -----   -----
ダブルクリック 現在位置の単語選択   SelectWord  30400   ○
右クリック   右クリックメニュー   RMenu   31580   ×
トリプルクリック    1行選択    SelectLine  30403   ○
クアドラプルクリック  すべて選択   SelectAll   30401   ○
F1  外部HTMLヘルプ   ExtHtmlHelp 31451   ×
F2  次のブックマークへ   BookmarkNext    30971   ○
....
....

キー割り当てのエクスポートの例

;SakuraKeyBind_Ver3

[Info]
KEYBIND_COUNT=96
KEYBIND_VERSION=SakuraKeyBind_Ver3

[KeyBind]
KeyBind[000]=0000,SelectWord,SelectWord,SelectWord,SelectWord,SelectWord,SelectWord,SelectWord,SelectWord,ダブルクリック
KeyBind[001]=0000,RMenu,RMenu,RMenu,RMenu,0,0,0,0,右クリック
KeyBind[002]=0000,0,0,0,0,0,0,0,0,中クリック
KeyBind[003]=0000,0,0,0,0,0,0,0,0,左サイドクリック
....
....
KENCHjp commented 6 years ago

@berryzplus そうかショートカットじゃないってことなんっすね。 じゃあ一覧に入れるのも微妙っちゃ微妙っすねぇ。 でもヘルプ側が特にショートカットとうたってなくて[キー割り当て一覧をコピー] なので入れてもいいのかなとか。

kobake commented 6 years ago

たしかに実質ホットキーなんですけど、設定画面UIでは「ショートカットキー」という記述になってますw

KENCHjp commented 6 years ago

設定画面UIでは「ショートカットキー」という記述になってますw

画面設計不良かぁ。。。

kobake commented 6 years ago

https://www.msng.info/archives/2014/12/differences-between-shortcut-and-hotkey.php いろいろ説はあるので引用は控えますが、説によってはショートカットの言い回しも間違いでもないみたいです

berryzplus commented 6 years ago

キー割当の設定で変更できるのはキーボードアクセラレータというやつですよね。使う側から見ればショートカット以外の何者でもないような気がしますけど。

ニーモニックの話をし出すとマニアックゾーンへの突入が確定しますな・・・

kobake commented 6 years ago

ここのことです。個人的には「ショートカットキー」表記のままでも良いと思います。

setting
berryzplus commented 6 years ago

情報が出揃った感じなので情報をまとめてみます。

[共通設定]-[全般]-[タスクトレイ]-[左クリックメニューのショートカットキー]で指定した ショートカットが、[ヘルプ]-[キー割り当て一覧をコピー] に出力されない。 またコマンド一覧にも記載がない。

まず、タスクトレイにあるアイコンをクリックしたときに表示するトレイメニューのお話ですね。 サクラエディタのショートカットだから「キー割り当て」に出力してほしい。 サクラエディタのコマンドだから「コマンド一覧」に表示してほしい。 というご要望です。

つぎに、現状の仕様としては以下の通りになってます。

つぎに、仕様変更できるかどうか考察してみました。

では、実装しますか・・・?

引っかかっていることがあります。 掲示板の元投稿をよく見ると「設定項目に気付くのに苦労した」とあります。 https://osdn.net/projects/sakura-editor/forums/34071/39670/81476/

問題の本質は、一覧に出ないことなんでしょうか?

キー割り当て一覧もコマンド一覧も、かなりマニアックな機能である認識です。 もしかして「設定項目が分かりづらい」が本質なんじゃありませんか?

Ctrl + Alt + Z については、Adobe の Photoshop と割り当てが被る ことが知られています。

ホットキーは、指定したキーの組み合わせを OS に登録し、 システムレベルでショートカットを作る機能です。 登録したキーは、どのアプリがアクティブだろうと、登録したアプリに転送されます。 キーを押した瞬間にアクティブだったアプリには何の通知もなく。

Photoshop 初心者が、草稿執筆用にインストールした sakura.exe を起動した状態で呟くわけです。 「おや?進めるけど戻れないぞ・・・」と。 これがホットキーです。

ひょっとして「ユーザに断りなくシステムレベルの挙動を変えてしまうデフォルト設定」が問題なんじゃありませんか?

kobake commented 6 years ago

Ctrl + Alt + Z については、Adobe の Photoshop と割り当てが被る ことが知られています。

「左クリックメニューのショートカットキー」はデフォルトでは未設定にしておくのが良いかと思いました。 また、ホットキー設定についてはサクラエディタがアクティブでない状態でも効力が発揮されることが分かりやすいようにUIに注記を入れるのが良いと思います。

ただ、この点は別途議論を深める点かと思いますが、本 Issue の本題ではないと思っています。

問題の本質は、一覧に出ないことなんでしょうか?

こちらがやはり本題ではないかと。 一覧にホットキー情報も出てくれれば Ctrl + Alt + Z が既に割り当てられていることには気づけます。

KENCHjp commented 6 years ago

@berryzplus さん なかなかいい考察だとおもいます。

私としては例えばうっかりCtrl+Cにでもわりあてちゃってどこでわりあてちゃったっけって探すときに使えるなって思いました。 デフォルトが有名な誰かとかぶっちゃうのは変えてあげるのはいいことだと思いますが、機能の拠り所として改修はありかなと。

Excelとかでもほしい機能かなっと。

ds14050 commented 6 years ago

ひょっとして「ユーザに断りなくシステムレベルの挙動を変えてしまうデフォルト設定」が問題なんじゃありませんか?

これに同意です。

また、たとえばキー割り当て一覧にホットキー割り当てが表示されたとして、よほど気をつけないと[基本設定]>[キー割り当て]から見つかるはずのない割り当てを探させることになりかねません。

異質なデータが混じってかなりださい出力になるんじゃないでしょうか。サクラエディタの TSV モードで表示したときの見映え(一覧性)にも気を遣いたいところです。

余談:ホットキーを設定しなくても Win+B、[→、→]、Space で間に合ってます。

kobake commented 6 years ago

皆さんの反応を見ていて思いましたが、これはもしかしてホットキー自体を廃止したほうが良かったりしますかね。実際このような挙動を設定できるようなソフトって他には見たことないです。

たとえデフォルトでこの機能が無効になっていたとしてもカスタム設定で有効化できる手段を残してしまうとそれでハマる人が出そう。。

この機能の需要がどの程度あったのかは知りませんが、あまりマナーの良い機能ではないですね。

kobake commented 6 years ago

おそらくこれまでの開発の流れでは一度追加された機能は残し続ける以外の選択が無かったように思います。できることなら適宜機能の棚卸しをしていきたいです。

berryzplus commented 6 years ago

たたき台にするための実装を作ってみました。

145 のビルド結果で artifacts に飛べば、キーリストに追加するとどんな感じか?を確認できます。