
¿Cómo pego desde la selección PRIMARIA (por ejemplo, texto seleccionado con el mouse) con un atajo de teclado? Shift+Insert
pega de manera inconsistente desde PRIMARIO o CLIPBOARD, dependiendo de la aplicación.
Fondo:
Ctrl+C
copia el texto seleccionado al PORTAPAPELES mientras que la selección del mouse lo copia a PRIMARIO. Pegue desde CLIPBOARD con Ctrl+V
y pegue desde PRIMARY con mouse-middle-click
.
En un emulador de terminal (gnome-terminal), pegue desde el PORTAPAPELES con Ctrl+Shift+V
. (Pegar desde PRIMARIO con mouse-middle-click
alambique).
Quiero pegar desde PRIMARIO con un atajo de teclado. En gnome-terminal, esto es Shift+Insert
, pero en gedit y Firefox, Shift+Insert
se pega desde el CLIPBOARD. Quiero un atajo que pegue constantemente desde el PORTAPAPELES y un atajo diferente que pegue constantemente desde PRIMARIO.
Estoy ejecutando Ubuntu 14.04 con xmonad y Firefox 34.0
Respuesta1
Todas las aplicaciones que has mencionado son gtk+
aplicaciones, por lo que es bastante fácil de responder.Por qué... Porque entodo gtk+
aplicaciones (excepto uno), Shift+ Insertpega desde CLIPBOARD - es decir, es equivalente a Ctrl+ V. El acceso directo está codificado engtkentry.c
(línea 2022) ygtktextview.c
(línea 1819):
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK,
"paste-clipboard", 0);
También está documentado en elManual de referencia GTK+ 3bajoGtkEntry
:
The “paste-clipboard” signal
void
user_function (GtkEntry *entry,
gpointer user_data)
The ::paste-clipboard signal is a keybinding signal which gets emitted
to paste the contents of the clipboard into the text view.
The default bindings for this signal are Ctrl-v and Shift-Insert.
Hasta donde yo sé, esto se hizo por coherencia con otros DE (ver KDE
las Qt
combinaciones de teclas enQTextEdit Class
) y el sistema operativo Windows 1 .
Ella única excepciónes gnome-terminal
. Después de largos debates, los desarrolladores han decidido (por coherencia con otros terminales) que, en gnome-terminal
, Shift+ Insertdebe pegar desde PRIMARIO y Ctrl+ Shift+ Vdebe pegar desde EL PORTAPAPELES (aunque tienes la opción de personalizar algunos atajos).
En cuanto aCómo¿Pegas la selección con un atajo de teclado? No hay una manera sencilla.
La forma más sencilla es asignar un acceso directo a un script que se ejecuta xdotool click 2
(simula hacer clic en el botón central del mouse). Si bien esto funciona (y debería funcionar con todos o la mayoría de los DE y kits de herramientas), solo funciona si el cursor del mouse está realmente sobre el cuadro de entrada de texto; de lo contrario, falla.
Otra forma relativamente sencilla es a través de Gnome Accessibility, si está disponible en su sistema. También requiere la presencia de un teclado numérico. Vaya a Universal Access
>> Pointing & Clicking
y habilítelo Mouse Keys
. Asegúrate NumLock
de que esté apagado. Luego puede usar las teclas del teclado numérico para mover el cursor y hacer clic. Para simular un clic con el botón central del mouse, presione (y suelte) *(asterisco) y luego presione 5(aquí hay un breveguía). Esta solución parece funcionar siempre en un gtk+
entorno. La desventaja es que requiere Gnome Accessibility
un teclado numérico. Además, no puede personalizar el acceso directo.
Se propuso una solución interesantegnome-bugzilla (error 643391). (Actualización de 2018: el problema ahora se ha movidoaquí.) Requiere parchear algunos archivos fuente y configurar opciones de configuración en ~/.config/gtk-3.0/gtk.css
(o ~/.gtkrc-2.0
para gtk+
2 aplicaciones). No lo he probado personalmente pero la respuesta es positiva.
Lo ideal sería parchear los archivos fuente y definir una "paste-selection"
señal, luego vincular Shift+ Inserta "paste-selection"
en lugar de "paste-clipboard"
. El código de Andy (adjunto en el informe de error vinculado anteriormente) podría servir como guía sobre cómo hacerlo. Incluso entonces, solo afectaría gtk+
a las aplicaciones (no soy un KDE/Qt
hombre, así que no tengo idea de cómo alterar Qt
el comportamiento de las aplicaciones).
1: (sin mencionar el CUA de IBM)
Respuesta2
Lo siento: no puedo escribir comentarios debido a mi reputación, así que escribo como respuesta. No es una solución directa, pero me ayuda...
Puede utilizar una combinación de información:
Edite el tema gtk y permita la combinación de teclas como desee.
Ejemplo de creación de combinaciones de teclas gtk 3.0 en css del tema.
Ejemplo de anulación de combinaciones de teclas gtk y desvinculación.
Ejemplo de modificación de combinación de teclas para gnome-terminal
Inicio automático de autocutsel con opciones predeterminadas para sincronizar CLIPBOARD con CUTBUFFER(esto es opcional). Este enlace es sólo para información sobre el problema.
Utilice clipman para acceder a múltiples buffers mediante interfaz gráfica de usuario(PRIMARIO y PORTAPAPELES), sin selecciones de sincronización automática (la sincronización automática bidireccional falla).
Así que simplemente selecciono el tema gtk y modifico el CSS del tema según las combinaciones de teclas necesarias para las señales de copiar-portapapeles (Ctrl+Insertar) y pegar-portapapeles (Shift+Insertar).