¿Cómo puedo asignar una pulsación de botón central a una tecla específica en mi computadora portátil?

8

¿Cómo puedo adjuntar un botón central al presionar una tecla específica en mi computadora portátil? Puedo hacer un botón central si toco en la esquina superior derecha del panel táctil, pero me gustaría asociarlo a una tecla, como la tecla "Windows" o la tecla "Menú".

¿Hay una manera de hacerlo?

La respuesta actual no funciona para Ubuntu 11.10 con un clásico escritorio gnome-failsafe. Necesitaría a alguien que descubra cómo se puede hacer esto para la versión actualizada de Ubuntu.

719016
fuente

Respuestas:

10

Para reasignar la tecla de menú , deberá hacer lo siguiente.

instalar requisitos previos

Instalar paquete xkbset:

sudo apt-get install xkbset

definir la distribución del teclado

A continuación, debe definir qué distribución de teclado está utilizando. En mi caso, gb para una distribución de teclado británico / británico o nosotros para Estados Unidos

setxkbmap -layout gb

Nota: si corres

setxkbmap -query

le dará el resultado de la siguiente manera: si el modelo y el diseño son su teclado, entonces está usando el diseño correcto

rules:      evdev
model:      pc105
layout:     gb

A continuación, defina que seremos los siguientes mapeos de teclas del mouse:

xkbset m
xkbset exp =m

encontrar Menucódigo clave

Mapa de la Menuclave. Para hacer esto, necesitamos el Menucódigo clave. En una ejecución de terminal xev, mueva el mouse dentro del cuadrado y presione la Menutecla.

ingrese la descripción de la imagen aquí

Resultado final

En mi caso, mi Menucódigo clave es el valor 135 y esto se asignará al botón 2 del mouse

xmodmap -e "keycode 135 = Pointer_Button2"

Probado de la siguiente manera:

  1. Copiar texto en un terminal: inicia la acción Pegar
  2. Desplace el mouse sobre la barra de título - Ventana mover al fondo

Poniendo todo esto junto:

Ok, una vez que hayamos resuelto los códigos de teclas correctos, podemos armar esto para comenzar desde el inicio de sesión.

Primero cree un archivo en su carpeta de inicio llamado remapkeys

gedit ~/remapkeys

ahora copia y pega lo siguiente

#!/bin/sh
setxkbmap -layout gb
xkbset m
xkbset exp =m
xmodmap -e "keycode 135 = Pointer_Button2"

Salvar. Otorgue al archivo derechos de ejecución

chmod +x ~/remapkeys

Luego, desde Dash, busque Aplicaciones de inicio o si usa Gnome Classic - Aplicaciones - Otros - Aplicaciones de inicio

Agregar una nueva entrada de aplicaciones de inicio

ingrese la descripción de la imagen aquí

El comando debe ser:

bash -c "sleep 5 && ~/remapkeys"

El comando duerme durante 5 segundos para permitir que su escritorio aparezca antes de ejecutar su nueva secuencia de comandos; si su escritorio no aparece dentro de los 5 segundos (¿tal vez está utilizando una netbook lenta?), Aumente este tiempo de espera a 10 o 15 segundos. Cerrar sesión e iniciar sesión para probar.

fossfreedom
fuente
¿Puedo preguntar, después de seguir estos pasos, si el enlace debe ser permanente o debería colocarlo en algún lugar para que se cargue cada vez que reinicie?
719016
ciertamente no es permanente: agregaría las declaraciones a un script y lo ejecutaría como parte de las aplicaciones de inicio para que se ejecute al iniciar sesión. Funciona la respuesta para usted - lo hizo en mis pruebas ...
fossfreedom
funciona pero como dices no permanentemente
719016
... en caso de que no lo haya dejado claro, he agregado cómo iniciar esto desde el inicio de sesión hasta la respuesta.
fossfreedom
Doe es permitir arrastrar y soltar?
Vitor Abella
5

Primero, instale xautomation:

sudo apt-get install xautomation

Puede enviar un evento de clic medio usando xte:

xte 'mouseclick 2'

Puede crear un atajo personalizado para eso en Preferencias -> Atajos de teclado (o 'Atajos de teclado' desde la búsqueda de Unity). Haga clic en 'Agregar', ingrese un nombre y el comando anterior y haga clic en 'Aplicar'. Desplácese hasta la parte inferior y establezca un acceso directo como lo haría para cualquier otra acción.

Cuando intenté esto, no pude vincular la acción solo a la tecla de Windows. Puede intentarlo haciendo lo siguiente, pero parece haber un error que impide que esto funcione:

Abre una terminal y ejecuta

gconf-editor

Presione Ctrl + f, seleccione el cuadro 'Buscar también en valores clave' e ingrese lo siguiente en el cuadro de búsqueda:

xte 'mouseclick 2'

Debe haber solo un resultado en el panel inferior. Si hay más, seleccione el que contiene '/ desktop / gnome / keybindings / custom * / action' en su nombre. En el panel superior derecho, ingrese '' (sin comillas) al lado del campo 'enlace'. Si obtiene el mismo resultado que yo, todas las apariencias de su ventana cambiarán, y la nueva combinación de teclas no hará nada. Cambie eso de nuevo a lo que sea (o déjelo en blanco) y abra Apariencia (Preferencias -> Apariencia o 'Apariencia' en la búsqueda de la unidad). Eso debería solucionar el problema.

sentythee
fuente
¡Excelente! No necesitaba hacer el bit de gconf-editor, hasta ahora está funcionando, volveré a verificar después de reiniciar. ¡Gracias!
719016
Esto ya no funciona en Ubuntu 11.10 con un clásico escritorio gnome-failsafe. Sin embargo, estoy seguro de que debe haber una manera de hacer lo mismo.
719016
1

Me gustaría señalar, para otros (ya que encontré esto varias veces mientras buscaba mi propio mouse) que algunos ratones Logitech tienen algunos botones (en mi MX1100, por defecto eran botones "DPI +/-") que no se envían Una señal al receptor USB.

Es posible anular esto y hacer que el mouse informe el botón que presiona al controlador del mouse, pero el proceso ni siquiera es fácil de usar (o incluso fácilmente replicable, ya que parece ser diferente para cada mouse). El paquete "lomoco" aparentemente funcionará para algunos usuarios, pero no se ha actualizado para ratones más nuevos en mucho tiempo.

Icehawk78
fuente