Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

editorが異なる場合は同じショートカットキーを登録可能にしたい #1940

Open
Hiroshiba opened this issue Mar 18, 2024 · 7 comments

Comments

@Hiroshiba
Copy link
Member

内容

ソングで「選択解除」をEscapeにしたい思いがあります。 #1903
一方でトークでは「テキスト欄からフォーカスを外す」がEscapeに割り当たっています。

このようにエディタによって異なる挙動をするものを同じショートカットキーに割り当てたいことがありますが、現状のショートカットキー設定ダイアログはeditorが異なっているかを判別せずに同一ショートカットキー判定をしているため、片方登録することができません。

editorがトーク・ソングで異なっている場合は、同じショートカットキーを登録可能にしたいです。

Pros 良くなる点

意味の似ているショートカットキーを揃えることができる

実現方法

ショートカットキーの同一判定をする時に、editorがトークとソングで異なっていたら同一ではないとする。

ちなみにショートカットキー設定ダイアログはHotkeySettingDialogです。

その他

@ShimagayaSatoka
Copy link
Contributor

効果が似ていて、かつ使用タイミングの被らない機能のショートカットキーを同じにしたいと考えるのであれば、「特定の機能同士のショートカットキーは重複しても許す」というようにすると、トーク内・ソング内での重複も許せるので良い気がします

例)テキストの全選択とセルの全選択、ソングのノートの全選択
テキストの書き出しとプロジェクトファイルの保存が同時にできるかも?

重複を許す組み合わせごとにIDを設定し、それが同一であったら問題なしとすればいいでしょうか

良くない点
・重複を許す組み合わせが多くなってしまったときにIDの管理が大変なことになる可能性がある
・無関係な機能のショートカットキーは重複できない(エディターの判定も同時にやるなら問題なし)

@Hiroshiba
Copy link
Member Author

@ShimagayaSatoka コメントありがとうございます!

良くない点で書いてくださっている通り、何を重複とみなすか考えるのがかなり大変なのと、たぶんきっとどこかでバグりそうだなと感じました!

コメントを頂いて思ったのですが、むしろ重複していても別に問題ないのではと感じてきました。
衝突する2つ(テキスト欄追加と削除みたいな)を同じキーに割り当てるとまあ変な挙動しますが、まあそんな割り当てしなさそうだなぁと。

新しくキーバインドが追加されて、それが既存のものと同じだった場合は新しいのをそのキーに割り当てないほうが良さそうですが。

@ShimagayaSatoka
Copy link
Contributor

たしかにそもそも重複しても問題ない気もしてきますね

その場合でも意図しない重複があると良くないので、重複しているかの確認はして、上書きするボタンの隣に重複したまま登録するなどのボタンを追加するのがいいかもしれないです

@Hiroshiba
Copy link
Member Author

Hiroshiba commented Apr 15, 2024

同感です!
あとは衝突する可能性のあるショートカットが複数になり得るので、そこのコードは変更しないとかもですね。
他に注意点とかって考えられますかね・・・?

@ShimagayaSatoka
Copy link
Contributor

確実に問題がありそうなことは思い当たりませんでしたが、
同じショートカットキーで同時に呼び出すと致命的な問題が発生しうる組み合わせがあった場合に、何かしらの対策が必要かもしれないです
例えば保存は他の機能と同じに割り当てないほうが良さそうです

@Hiroshiba
Copy link
Member Author

ありがとうございます!

大事なアクションをカバーするのはなるほどです。
起こりうる確率と問題になる確率をなんとなく考えて、たぶん1万人に1人いるかいないかくらいな気がしました。
マストではないけどあっても良いかもって感じですかね…?

なにか考慮漏れがあると怖いのでDiscordでも聞いてみようと思います!

@Hiroshiba
Copy link
Member Author

少なくとも無警告で同じキーに割り当てちゃうのは危なそうに思えます。
そして問題ないアクションが同じキーにしようとした場合も、別に警告は表示して良い気がします。
なのでキー被ってます警告を表示してあげるのは別に良さそう!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants