(8 respuestas)
Cerrado hace 2 años.
Estoy usando Slackware 13.1 (kernel 2.6) con FVWM como mi administrador de escritorio.
Con frecuencia he tenido problemas al codificar donde mi mouse hipersensible registra un clic en el botón central (rueda del mouse) mientras me desplazo con la rueda del mouse.
¿Hay alguna forma de modificar el acceso directo para que el clic central ya no se pegue usando el portapapeles integrado con X11/Xorg/Xfree86? Preferiría que se reasignara a algo como +MiddleClick o algo similar.
Ya he buscado en los foros y he encontrado algunas sugerencias usando XMODMAP, pero ninguna ha funcionado hasta ahora.
Gracias a todos de antemano por su tiempo y ayuda.
Respuesta aceptada:
Puede modificar la opción ButtonMapping en la configuración de X:http://www.linuxquestions.org/questions/linux-newbie-8/disable-xorgs-highlight-to-copy-middle-click-to-paste-clipboard-647810/
Opción “Asignación de botones” “1 1 3 4 5”
Actualización:en el hilo:https://askubuntu.com/questions/4507/how-do-i-disable-middle-mouse-button-click-paste
el parche para gtk está vinculado, lo que desactivará el botón central al pegar:http://subversion.assembla.com/svn/slipstream/patches/gtk_disable_middle_mouse_button_paste.patch
Hay una descripción general de la acción del botón central en diferentes bibliotecas/aplicaciones gráficas:http://os.livejournal.com/811721.html, por lo que puedo suponer que la acción del botón central como XA_PRIMARY Paste no está codificada en Xorg/Xserver (después de buscar en fuentes por hora)
Y este es probablemente el manejo del botón central en 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);
También aquí para 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));
y puede estar aquí para la capa de compatibilidad con 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()) {
Por lo tanto, puede descargar fuentes de QT y comentar esta rama si deshabilita la acción del botón medio como pegar.
Después de parchear QT y GTK, solo debe compilarlos e instalar en su lugar gtk y QT del sistema (o colocarlos en algún directorio, por ejemplo, /usr/local/lib y poner este directorio en /etc/ld.so.conf) antes. Luego, todas las aplicaciones vinculadas dinámicamente usarán gtk/QT lib parcheadas y no pegarán nada al presionar el botón central.
Si la aplicación se vinculó estáticamente, debe volver a compilarla con una biblioteca estática parcheada o volver a compilarla en un enlace dinámico.
Relacionado:Linux:¿establecer kernel predeterminado en GRUB?Si necesita parchear más kits de herramientas gráficas, simplemente diga el nombre del kit de herramientas e intentaré encontrar el punto de origen del manejo del botón central como pegado.