GNU/Linux >> Linux の 問題 >  >> Linux

Linux – X11 / xorgでミドルクリックして貼り付けることを無効/変更しますか?

この質問にはすでに回答があります :すべてのプログラムで「中マウスボタン貼り付け」機能をオフにするにはどうすればよいですか?

(8つの回答)
2年前に閉鎖されました。

デスクトップマネージャーとしてFVWMでSlackware13.1(カーネル2.6)を使用しています。

過敏なマウスがマウスホイールでスクロールしているときに中ボタン(マウスホイール)のクリックを登録するコーディング時に、頻繁に問題が発生しました。

X11 / Xorg / Xfree86の組み込みクリップボードを使用してミドルクリックで貼り付けられないようにショートカットを変更する方法はありますか? +MiddleClickなどに再マッピングしたほうがいいと思います。

私はすでにフォーラムを検索し、XMODMAPを使用していくつかの提案を見つけましたが、これまでのところうまくいきませんでした。

お手数をおかけしますが、よろしくお願いいたします。

承認された回答:

X構成でButtonMappingオプションを変更できます:http://www.linuxquestions.org/questions/linux-newbie-8/disable-xorgs-highlight-to-copy-middle-click-to-paste-clipboard-647810/

オプション「ButtonMapping」「11345」

更新:スレッド内:https://askubuntu.com/questions/4507/how-do-i-disable-middle-mouse-button-click-paste

gtkへのパッチがリンクされ、貼り付けとして中央のボタンが無効になります:http://subversion.assembla.com/svn/slipstream/patches/gtk_disable_middle_mouse_button_paste.patch

さまざまなグラフィックライブラリ/アプリケーションのミドルボタンアクションの概要があります:http://os.livejournal.com/811721.html –したがって、XA_PRIMARYペーストとしてのミドルボタンアクションはXorg / Xserver自体にハードコーディングされていないと想定できます(検索後)ソースで1時間)

そして、これがQTの真ん中のボタンの処理である可能性があります:

qt / src / gui / text / qtextcontrol.cpp

void QTextControlPrivate::mouseReleaseEvent (...
...
} else if (button == Qt::MidButton
           && (interactionFlags & Qt::TextEditable)
           && QApplication::clipboard()->supportsSelection()) {
    setCursorPosition(pos);
    const QMimeData *md = QApplication::clipboard()->mimeData(QClipboard::Selection);
    if (md)
        q->insertFromMimeData(md);

lineeditについてもここにあります:qt / src / gui / widgets / qlineedit.cpp

void QLineEdit::mouseReleaseEvent(QMouseEvent* e)
...
    } else if (!d->readOnly && e->button() == Qt::MidButton) {
        d->deselect();
        insert(QApplication::clipboard()->text(QClipboard::Selection));

qt3互換レイヤーの場合はここにあります:qt / src / qt3support / text / q3textedit.cpp

void Q3TextEdit::contentsMouseReleaseEvent(QMouseEvent * e)
...
else if (e->button() == Qt::MidButton && !isReadOnly()) {
    // only do middle-click pasting on systems that have selections (ie. X11)
    if (QApplication::clipboard()->supportsSelection()) {

したがって、QTソースをダウンロードし、ブランチの場合はこれにコメントして、貼り付けとしてのミッドボタンアクションを無効にすることができます。

QTとGTKにパッチを適用した後は、それらをコンパイルして、代わりにシステムのgtkとQTをインストールする必要があります(または、/ usr / local / libなどのディレクトリに配置し、このディレクトリを/etc/ld.so.confに配置します)。次に、動的にリンクされたすべてのアプリケーションは、パッチが適用されたgtk / QT libを使用し、中央のボタンを押しても何も貼り付けません。

アプリケーションが静的にリンクされている場合は、パッチを適用した静的ライブラリを使用して再コンパイルするか、動的にリンクされた状態に再コンパイルする必要があります。

関連:Linux – GRUBでデフォルトのカーネルを設定しますか?

より多くのグラフィックツールキットにパッチを適用する必要がある場合は、ツールキットの名前を言うだけで、中央のボタンを貼り付けとして処理するソースポイントを見つけようとします。


Linux
  1. Linux で夏時間 (DST) を無効にしてタイムゾーンを変更する方法

  2. Linux でウェブカメラのオートフォーカスを無効にする

  3. Linux で IPv6 の自動構成を無効にする方法は?

  1. Linuxラップトップ(ubuntu)でcd / dvdボタンを無効にします

  2. Firefox Linux で「ctrl+shift+w」ショートカットを無効にする

  3. Linux の電源ボタンの動作を変更する

  1. Linuxでシャットダウンおよび再起動コマンドを無効にする方法

  2. Linuxでrootアカウントを無効にする4つの方法

  3. Xorg、X11、Wayland? Linuxディスプレイサーバーとプロトコルの説明