(8 jawaban)
Tutup 2 tahun lalu.
Saya menggunakan Slackware 13.1 (kernel 2.6) dengan FVWM sebagai manajer desktop saya.
Saya sering mengalami masalah saat mengkode saat mouse saya yang terlalu sensitif mencatat klik tombol tengah (roda mouse) saat menggulir dengan roda mouse.
Apakah ada cara untuk mengubah pintasan sehingga klik tengah tidak lagi menempel menggunakan clipboard bawaan dengan X11/Xorg/Xfree86? Saya lebih suka jika itu dipetakan ulang ke sesuatu seperti +MiddleClick, atau yang serupa.
Saya telah mencari melalui forum, dan telah menemukan beberapa saran menggunakan XMODMAP, tetapi sejauh ini tidak ada yang berhasil.
Terima kasih sebelumnya atas waktu dan bantuan Anda.
Jawaban yang Diterima:
Anda dapat memodifikasi Opsi Pemetaan Tombol dalam konfigurasi X:http://www.linuxquestions.org/questions/linux-newbie-8/disable-xorgs-highlight-to-copy-middle-click-to-paste-clipboard-647810/
Opsi “Pemetaan Tombol” “1 1 3 4 5”
Pembaruan:di utas:https://askubuntu.com/questions/4507/how-do-i-disable-middle-mouse-button-click-paste
patch ke gtk ditautkan, yang akan menonaktifkan tombol tengah sebagai tempel:http://subversion.assembla.com/svn/slipstream/patches/gtk_disable_middle_mouse_button_paste.patch
Ada ikhtisar tindakan tombol tengah di berbagai lib/aplikasi grafis:http://os.livejournal.com/811721.html - jadi saya dapat berasumsi bahwa tindakan middleButton sebagai XA_PRIMARY Tempel tidak di-hardcode di Xorg/Xserver itu sendiri (setelah mencari dalam sumber untuk jam)
Dan inilah kemungkinan penanganan tombol tengah di 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);
Juga di sini untuk 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));
dan mungkin di sini untuk qt3 compat layer: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()) {
Jadi, Anda dapat mengunduh sumber QT dan mengomentari ini jika cabang untuk menonaktifkan tindakan Midbutton sebagai tempel.
Setelah menambal QT >K, Anda hanya perlu mengompilasinya dan menginstal gtk dan QT sistem (atau menempatkan di beberapa direktori misalnya /usr/local/lib dan meletakkan direktori ini di /etc/ld.so.conf) sebelumnya. Kemudian setiap aplikasi yang ditautkan secara dinamis akan menggunakan lib gtk/QT yang ditambal dan tidak akan menempelkan apa pun untuk menekan tombol tengah.
Jika aplikasi tertaut secara statis, Anda harus mengompilasi ulang dengan pustaka statis yang ditambal atau mengkompilasi ulang menjadi tertaut secara dinamis.
Terkait:Linux – Tetapkan kernel default di GRUB?Jika Anda membutuhkan lebih banyak toolkit grafis untuk ditambal, katakan saja nama toolkit dan saya akan mencoba menemukan titik sumber penanganan tombol tengah sebagai tempel.