Puede obtener macropads de no marca baratos por casi nada ahora. Algunos de ellos tienen solo un par de llaves. Otros tienen muchas llaves, perillas y LED. Puede saltar para una marca de nombre, y será una buena apuesta que ejecute QMK. ¿Pero los baratos? Prepárese para descargar el software program solo con Home windows de las cuentas sospechosas de Google Drive. ¿Trabajarán con Linux? Tal vez.
Por supuesto, si no te importa el teclado haciendo lo que normalmente haga, está bien. Estos son poco más que dispositivos HID con USB o Bluetooth. Pero, ¿qué envían esas claves por defecto? Realmente querrás una forma de reasignarlos, especialmente porque pueden enviar personajes normales. Así que ahora quieres ingeniería inversa. Eso es mucho trabajo. Afortunadamente, Alguien ya tieneal menos para muchas de las almohadillas comunes basadas en los chips CH57X.
Configuración de código abierto
Gracias a [Mikhail Trishchenkov]puede usar una buena herramienta de Linux para configurar fácilmente su macropad. Puede construirlo desde la fuente o obtener versiones construidas para Linux, Home windows y Mac. Todo está escrito en Rust si quieres desarmarlo o modificarlo.
Es posible que la configuración no haga felices a los usuarios de la GUI, pero la mayoría de los usuarios de Linux están bien con la edición de un archivo YAML. El software program funciona con muchas almohadillas diferentes, por lo que debe explicar lo que tiene primero. Entonces puedes explicar lo que quieres.
El archivo YAML tiene varias claves de interés (documentadas en el archivo de muestra)
- Orientación: puede pedirle al software program que trate la almohadilla en su orientación regular o rotó 90, 180 o 270 grados. Esto solo importa porque es bueno colocar las llaves en el orden correcto y desea que las perillas en el sentido de las agujas del reloj y las instrucciones en sentido antihorario tengan sentido. Por supuesto, puede hacer la gimnasia psychological para configurarlo como desee, pero esto lo hace más fácil.
- Fila, columnas: diferentes almohadillas tienen un número diferente de filas y columnas. Tenga en cuenta que esto no respeta su configuración de orientación. Entonces, si coloca alguna perilla a la izquierda, las teclas horizontales son las columnas y las teclas verticales son las filas.
- Bandillas: su almohadilla puede tener perillas. Cuéntalos aquí.
- Capas: outline múltiples capas aquí (pero al menos una). Las almohadillas más baratas solo admiten una capa, pero las más agradables tienen un botón y LED que le permiten recorrer algunas capas de diferentes definiciones clave.
- Botones: dentro de una capa, puede tener un montón de nombres de claves en los soportes. Dependiendo de la orientación, habrá un conjunto de soportes para cada columna o un conjunto para cada fila.
- Bandillas: también dentro de una capa, puede definir lo que sucede en CCW, CW y presionar eventos para cada botón.
La llave
Los nombres clave son generalmente personajes (“2” o “D”), pero también pueden ser nombres de claves como “Play” o “Ctrl-X”. Puede configurar múltiples teclas (“A+B”) y hay eventos de mouse como “Click on” y “Wheeldown”.
Probablemente pueda adivinar la mayoría de las claves, pero en caso de duda, llame a la configuración con el argumento Present-Keys para obtener una lista.
Renombré el programa para macropad-tool
. (ch57x-keyboard-tool
period demasiado para escribir.) No me di cuenta en ese momento que había Otro programa Eso debería funcionar con la misma almohadilla que ya usa ese nombre.
Cuando tenga un archivo YAML listo, puede verificarlo y luego, si salió bien, cárguelo:
macropad-tool validate myconfig.yaml macropad-tool add myconfig.yaml
¿Eso es todo?
Eso es principalmente. Solo hubo unos pocos problemas. Primero, debe reinicializar el macropad cada vez. En segundo lugar, probablemente deba ser root para escribir en el dispositivo, que es menos útil. Probablemente quieras hacer más que solo pulsaciones de teclas. Por ejemplo, desea que el botón superior izquierdo mencione, por ejemplo, GIMP. Como objetivo estirado, mi macropad no admitió capas, e incluso si lo hizo, no es útil tener que presionar un pequeño botón para cambiarlas. Me propuse arreglar eso, más o menos.
Último problema primero

Al principio, pensé que sería fácil mapear cosas ya que uso KDE. Configuré el teclado para generar F13-F25, teclas que normalmente no tiene en la mayoría de los teclados. Funcionó, pero aparentemente mi configuración ve estos códigos clave como otros caracteres especiales que ya están asignados a las cosas. Podría haberlo arreglado, pero decidí ir una dirección diferente.
La probabilidad de que vincules algo para controlar+Alt+Shift+… es pequeña. En basic, solo unas pocas teclas extrañas y peligrosas usan esto porque se necesita mucha destreza para presionar todas esas teclas.
Pero al Macropad no le importa. Así que configuré la primera clave para ser management+Alt+Shift+A, seguido de management+Alt+Shift+B, y así sucesivamente. Ahora, puedo usar fácilmente los atajos de teclado KDE del panel de management para atrapar esas teclas y hacer cosas como lanzar una carcasa, cambiar de escritorio o lo que sea.
Todo lo demás
Todos los demás problemas dependen de una cosa: es difícil ejecutar el comando para inicializar el macropad a menos que esté root. Si tuviera un comando easy para configurarlo, podría ejecutarlo fácilmente en el inicio o en cualquier momento que quisiera reinitalizar el Macropad.
Además, puede unir una clave para ejecutar la herramienta de configuración para cambiar las configuraciones para hacer una versión pobre de capas. Claro, no habría indicios de en qué capa se encontraba, pero podría arreglar esa manera diferente (por ejemplo, texto de estado en la barra de tareas). Si bien no es excellent, sería viable.
Entonces, ¿cómo obtenemos un comando easy que pueda cargar fácilmente el macropad? Hay algunas opciones. Podrías tener un script propiedad de Root que sea pegajoso. De esa manera, los usuarios podrían ejecutarlo, pero podría convertirse en root para configurar el teclado.
Decidí ir de manera ligeramente diferente. Puse la herramienta /usr/native/bin
y los archivos YAML en /usr/native/share/macropad
que creé. Entonces yo creó un script. Probablemente querrás modificarlo.
El script llama al cargador del teclado con sudo
. Pero el sudo
simplemente te solicitará, ¿verdad? Bueno, sí. Para que puedas hacer una entrada en /and many others/sudoers.d/99-macropad
:
alw ALL=(ALL) NOPASSWD: /usr/native/bin/macropad-tool
Ahora usted, o el script en su nombre, puede ejecutar la herramienta con sudo
y no proporcionar una contraseña. Dado que un usuario regular no puede cambiar /usr/native/bin/macropad
o /usr/native/bin/macropad-tool
esto es razonable.
Si lo prefiere, puede escribir una regla UDEV para que coincida con las IDS USB de su Macropad y establecer los permisos. Algo como esto:
ATTRS{idProduct}=="8840", ATTRS{idVendor}=="1189", MODE="666", GROUP="customers"
Si cambia los permisos, cambie el script para no usar sudo
. Y, por supuesto, cambie el producto y las ID de proveedor para adaptarse a su macropad, junto con su grupo, si necesita algo diferente. Sin embargo, esa es probablemente la mejor opción.
Capas falsas
Dado que el script le permite definir diferentes capas, puede hacer que un interruptor cambie la configuración de la capa simplemente ejecutando el script con un argumento dado en una llave. Un truco, pero funciona. Obviamente, cada capa necesitará sus propias teclas falsas a menos que proporcionen la misma función. El archivo /tmp/macropad-current-layer
rastrea la capa precise, que puedes mostrar con algo como un salida de comando plasmoide.
Organice que el script se cargue en el inicio utilizando su elección de /and many others/rc.native
, systemd
o incluso una regla udev. Lo que quieras, y eso se encarga de todos tus problemas.
¿Mencionamos lo baratos que son estos? Lo bueno es que puede rodar fácilmente el suyo y ponerle un buen software program como QMK.