Take back the stolen Cmd+K

  • /*
     * @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);
      const originalPreventDefault = Event.prototype.preventDefault;
      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 です。