Take back the stolen Cmd+K
by
onk
03/05 [2025/03/05 03:09:43]
Web サイトによって奪われたショートカットキー Cmd+K をブラウザ本来の動作に戻す
@@ -7,9 +7,17 @@
*/
(() => {
- window.addEventListener('keydown', (e) => {
- if (e.metaKey && e.key.toLowerCase() === 'k') {
- e.stopImmediatePropagation();
+ // useCapture: true で既に preventDefault() する keydown event が登録されているので
+ // preventDefault 側で無視するように……。
+ // window.addEventListener('keydown', (e) => {
+ // if (e.metaKey && e.key.toLowerCase() === 'k') {
+ // e.stopImmediatePropagation();
+ // }
+ // }, true);
+ Event.prototype.preventDefault = function () {
+ if ((this.ctrlKey || this.metaKey) && this.key.toLowerCase() === 'k') {
+ return; // preventDefault() was skipped for Cmd+K
}
- }, true);
+ return originalPreventDefault.apply(this, arguments);
+ };
})();
/*
* @title Take back the stolen Cmd+K
* @description Web サイトによって奪われたショートカットキー Cmd+K をブラウザ本来の動作に戻す
* @include https://x.com/*
* @license MIT License
* @javascript_url
*/
(() => {
// useCapture: true で既に preventDefault() する keydown event が登録されているので
// preventDefault 側で無視するように……。
// window.addEventListener('keydown', (e) => {
// if (e.metaKey && e.key.toLowerCase() === 'k') {
// e.stopImmediatePropagation();
// }
// }, true);
Event.prototype.preventDefault = function () {
if ((this.ctrlKey || this.metaKey) && this.key.toLowerCase() === 'k') {
return; // preventDefault() was skipped for Cmd+K
}
return originalPreventDefault.apply(this, arguments);
};
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。