GNU/Linux - Hilo general

maxmalkav

#10979 AUR, el Softonic del mundo Linux :smiling_imp:

6
neil90

#10975 Byobu hace eso por defecto, trae unos cuantos keybinds adicionales bastante utiles y soporta ciertas acciones con ratón, así como copiar al buffer del portapapeles al seleccionar texto en modo scrollback

#10976 También puede usar tmux, yo lo uso así

Dr_Manhattan

¿Alguien me explica esta broma?

https://www.reddit.com/r/linuxmasterrace/comments/1ct801g/what_did_i_do_gnomecalculator_app/

Veo muchos comentarios sobre escribir 5318008 pero no entiendo nada

1 respuesta
maxmalkav

#10983 una broma demasiado americana para que la entendamos

2 1 respuesta
Dr_Manhattan

#10984 jajajaj pues he llegado a pensar que era algo de eso, como cuando lo hacíamos nosotros en el instituto y si le dabas la vuelta leías: EL BEBE o algo así

Gracias por aclararlo

12 días después
draz1c

Al final hice caso a #10881 y hace unos meses me cambié a Pop_OS! (porque tenia dos particiones con Manjaro: en una tenia i3 y en la otra MATE, y con Pop_OS! tienes lo mejor de ambos mundos: GNOME y tiling windows. Ahora ya solo tengo una particion de Linux, borré esas dos para instalar Pop) a ver si eso solucionaba el problema con el ratón que comentaba en #10880 y efectivamente, no se que driver o que usará distinto pero el ratón ahora me va bien, no me produce dolor al final de la jornada. No tuve que tocar nada raro, simplemente ajustar la sensibilidad que quería desde el GUI y a correr.

La cosa es que después de ir toqueteando aquí y allá para customizarlo todo a mi gusto y mas o menos ir encontrando una solución (o un workaround) hay una cosa que no he conseguido solucionar aún y vengo a ver si alguien puede echarme una mano:

En el teclado (un KBT Race 2) tengo media keys para subir y bajar el volumen y en Windows cuando dejo presionada la tecla (bueno en este caso es una combinacion de 2 teclas, pero la tecla de funcion creo que es invisible para el OS) de subir o bajar volumen va subiendo o bajando hasta que suelto. En Linux tengo que presionar por ejemplo 10 veces si quiero bajar el volumen 10 veces, si mantengo presionado solo me baja el volumen 1 vez. Esto solo ocurre con los media keys, con las teclas normales del teclado la repetición es correcta.

¿Alguna forma de resolverlo y que me pille la repetición?

Esto es lo que consigo con evtest al presionar la tecla de bajar volumen y la de subir volumen:

Event: time 1716912038.629059, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00ea
Event: time 1716912038.629059, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1
Event: time 1716912038.629059, -------------- SYN_REPORT ------------
Event: time 1716912038.629067, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0
Event: time 1716912038.629067, -------------- SYN_REPORT ------------
Event: time 1716912039.045071, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e9
Event: time 1716912039.045071, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 1716912039.045071, -------------- SYN_REPORT ------------
Event: time 1716912039.045079, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 1716912039.045079, -------------- SYN_REPORT ------------
1 respuesta
maxmalkav
#10986draz1c:

En el teclado (un KBT Race 2) tengo media keys para subir y bajar el volumen y en Windows cuando dejo presionada la tecla (bueno en este caso es una combinacion de 2 teclas, pero la tecla de funcion creo que es invisible para el OS) de subir o bajar volumen va subiendo o bajando hasta que suelto.

¿Lo que comentas es lo que llaman "sticky keys"? Me suena que es una propiedad de Xorg (y Wayland ya tendrá implementado algo del mismo palo) y que muchos gestores de escritorio te dejan ajustarlo.

2 respuestas
pantocreitor

#10987 justo iba a comentar eso, pero que solo le pase con las media keys me parece raro.
He probado con el portátil del curro (Ubuntu, Gnome y X11) y las media keys si tienen repetición al dejarlas pulsadas. He estado bicheando pero no he visto ningún config que discrimine las media keys del resto de teclas.

2 respuestas
preguntitas

#10988 en kde, en la configuración del teclado tienes unas configuraciones avanzadas que permiten cambios de comportamiento de teclas como los niveles 2 y 3, y muchos más. Lo mismo en gnome hay algo asi

2 respuestas
pantocreitor

#10989 en la GUI por defecto no aparece nada, igual hay archivos de configuración que no he visto y parece algo de eso que comentas por ahí.
La configuración de Gnome por defecto es muy muy limitada, pero la mierda del Microsoft Intine necesita Gnome por cojones para funcionar :/

1 respuesta
preguntitas

#10990 y con dconf-editor ? o como se llame :blush:

draz1c

#10987 #10988 #10989 Si que puede haber algo discriminatorio en el teclado. Cuando ejecuto sudo evtest me muestra lo siguiente:

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	Sleep Button
/dev/input/event1:	Power Button
/dev/input/event2:	Power Button
/dev/input/event3:	Razer Razer Viper Ultimate Dongle
/dev/input/event4:	Generic X-Box pad
/dev/input/event5:	HDA Intel PCH Front Mic
/dev/input/event6:	Razer Razer Viper Ultimate Dongle
/dev/input/event7:	RAZER Razer Mouse Dock
/dev/input/event8:	USB Keyboard
/dev/input/event9:	HDA Intel PCH Rear Mic
/dev/input/event10:	USB Keyboard Consumer Control
/dev/input/event11:	Razer Razer Viper Ultimate Dongle
/dev/input/event12:	USB Keyboard System Control
/dev/input/event13:	RAZER Razer Mouse Dock
/dev/input/event14:	HDA NVidia HDMI/DP,pcm=3
/dev/input/event15:	HDA NVidia HDMI/DP,pcm=7
/dev/input/event16:	HDA NVidia HDMI/DP,pcm=8
/dev/input/event17:	HDA NVidia HDMI/DP,pcm=9
/dev/input/event18:	HDA Intel PCH Line
/dev/input/event19:	HDA Intel PCH Line Out Front
/dev/input/event20:	RAZER Razer Mouse Dock
/dev/input/event21:	HDA Intel PCH Line Out Surround
/dev/input/event22:	HDA Intel PCH Line Out CLFE
/dev/input/event23:	HDA Intel PCH Line Out Side
/dev/input/event24:	HDA Intel PCH Front Headphone
Select the device event number [0-24]:

Podeis ver event8: USB Keyboard, event10: USB Keyboard Consumer Control y event12: USB Keyboard System Control.

Si elijo el 8 puedo ver las pulsaciones del teclado normal, pero si hago la combinación para subir/bajar el volumen no detecta nada.

El 12 sirve para esto:

Select the device event number [0-24]: 12
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x4d9 product 0x132 version 0x110
Input device name: "USB Keyboard System Control"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 116 (KEY_POWER)
    Event code 142 (KEY_SLEEP)
    Event code 143 (KEY_WAKEUP)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)

No lo entiendo muy bien pues parecen los botones para encender/apagar y tal pero no tengo nada de eso en el teclado y ademas no detecta ninguna tecla al presionarla.

En 10 es donde me detecta las media-keys:

Select the device event number [0-24]: 10
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x4d9 product 0x132 version 0x110
Input device name: "USB Keyboard Consumer Control"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 128 (KEY_STOP)
    Event code 131 (KEY_UNDO)
    Event code 133 (KEY_COPY)
    Event code 134 (KEY_OPEN)
    Event code 135 (KEY_PASTE)
    Event code 137 (KEY_CUT)
    Event code 138 (KEY_HELP)
    Event code 140 (KEY_CALC)
    Event code 144 (KEY_FILE)
    Event code 155 (KEY_MAIL)
    Event code 156 (KEY_BOOKMARKS)
    Event code 158 (KEY_BACK)
    Event code 159 (KEY_FORWARD)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 166 (KEY_STOPCD)
    Event code 171 (KEY_CONFIG)
    Event code 172 (KEY_HOMEPAGE)
    Event code 173 (KEY_REFRESH)
    Event code 181 (KEY_NEW)
    Event code 182 (KEY_REDO)
    Event code 206 (KEY_CLOSE)
    Event code 210 (KEY_PRINT)
    Event code 217 (KEY_SEARCH)
    Event code 231 (KEY_SEND)
    Event code 232 (KEY_REPLY)
    Event code 233 (KEY_FORWARDMAIL)
    Event code 234 (KEY_SAVE)
    Event code 240 (KEY_UNKNOWN)
    Event code 397 (KEY_CALENDAR)
    Event code 407 (KEY_NEXT)
    Event code 412 (KEY_PREVIOUS)
    Event code 421 (KEY_WORDPROCESSOR)
    Event code 423 (KEY_SPREADSHEET)
    Event code 432 (KEY_SPELLCHECK)
    Event code 433 (KEY_LOGOFF)
    Event code 584 (?)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)

Parece que son bloques diferentes y ademas escribiendo este post me he fijado en esto: al elegir 8, el de las teclas normales del teclado, sale al final lo siguiente:

Key repeat handling:
  Repeat type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Value    250
    Repeat code 1 (REP_PERIOD)
      Value     33
Properties:
Testing ... (interrupt to exit)

En los otros no aparece... :thinking:

Creo que va a ser eso, alguien tiene idea de como se podría cambiar?

1 respuesta
maxmalkav
#10992draz1c:

Parece que son bloques diferentes

Creo que son dispositivos diferentes. Esto lo he visto en teclados de portátiles, donde las teclas multimedia son un "teclado distinto", pero no lo había visto con teclados USB (o no me había fijado)

Si para Xorg es un teclado distinto, puedes probar a activar las sticky keys para ese dispositivo en concreto.

1 respuesta
draz1c

#10993 Pongo por aqui lo que he intentado. Todo sin exito de momento...

  • Activar Key Repeat con xinput:
$ xinput list
    ↳ USB Keyboard Consumer Control           	id=16	[slave  keyboard (3)]

$ xinput set-int-prop 16 "Device Enabled" 8 1
$ xinput set-int-prop 16 "Key Repeat Delay" 32 250
$ xinput set-int-prop 16 "Key Repeat Interval" 32 33
  • Crear un fichero para Xorg en /usr/share/X11/xorg.conf.d/09-media-keys-repeat.conf con el siguiente contenido:
Section "InputClass"
	Identifier "Multimedia keys repeat"
	MatchProduct "USB Keyboard Consumer Control"
	Option "AutoRepeat" "250 33"
EndSection
  • Preguntando a ChatGPT me dio varios intentos de solucion:
    • xbindkeys
    • xdotool
    • autokey-gtk

Nada de eso parece funcionar porque las teclas no registran la funcionalidad de que estas manteniendolas presionadas. Ejemplo:
Esto es lo que pasa cuando mantienes presionada la tecla 'a'

$ sudo evtest /dev/input/event11 | grep --line-buffered 'EV_KEY' | sed -r -e 's/.*\(KEY_/Keyboard: /' -e 's/\), value 0/ - UP/' -e 's/\), value 1/ - DOWN/' -e 's/\), value 2/ - HOLD/'

Event type 1 (EV_KEY)
Keyboard: ENTER - UP
Keyboard: A - DOWN
aKeyboard: A - UP
Keyboard: A - DOWN
aaaaKeyboard: A - HOLD
aaKeyboard: A - HOLD
aKeyboard: A - HOLD
aaKeyboard: A - HOLD
aKeyboard: A - HOLD
aKeyboard: A - HOLD
aaKeyboard: A - UP

Se puede ver la propiedad DOWN cuando presiono, HOLD al mantenerla presionada y UP cuando suelto. Esto es lo que pasa cuando lo hago con las teclas multimedia:

$ sudo evtest /dev/input/event12 | grep --line-buffered 'EV_KEY' | sed -r -e 's/.*\(KEY_/Keyboard: /' -e 's/\), value 0/ - UP/' -e 's/\), value 1/ - DOWN/' -e 's/\), value 2/ - HOLD/'

Event type 1 (EV_KEY)
Keyboard: VOLUMEDOWN - DOWN
Keyboard: VOLUMEDOWN - UP
Keyboard: VOLUMEUP - DOWN
Keyboard: VOLUMEUP - UP

He mantenido presionada la tecla de bajar el volumen y despues la de subir, pero solo se registra el presionar y el soltar, nada mas.

Con el comando xev vemos que el comportamiento es muy diferente entre una tecla normal del teclado como puede ser la 'a':

KeyPress event, serial 37, synthetic NO, window 0x4400001,
    root 0x210, subw 0x0, time 1587800, (467,731), root:(3077,1178),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x4400001,
    root 0x210, subw 0x0, time 1587840, (467,731), root:(3077,1178),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False


Y la tecla de subir volumen:

MappingNotify event, serial 37, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

FocusOut event, serial 37, synthetic NO, window 0x4400001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 38, synthetic NO, window 0x4400001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 38, synthetic NO, window 0x0,
    keys:  80  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Y aquí de momento estoy bloqueado porque no puedo rascar mas. En internet no parece que haya tampoco mucha informacion al respecto de que a alguien le haya pasado algo similar.

carracho

Yo tuve un problema con la tecla de Fn en mi teclado actual... en mi caso lo detecta como un Apple (es uno de estos que soporta MAC/PC)... y básicamente si quería activar la Fn tenía que hacer:

echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode

** Esta operación no es persistente... para persistir debes crear un archivo en un sitio.

Las opciones que admite el driver en este caso son:
0 = Fn key disabled
1 = Fn key pressed by default
2 = Fn key released by default

"lsusb" que ID te da?

1 respuesta
draz1c
#10995carracho:

"lsusb" que ID te da?

lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 04d9:0132 Holtek Semiconductor, Inc. USB Keyboard
Bus 001 Device 003: ID 24c6:581a ThrustMaster, Inc. XB1 Classic Controller
Bus 001 Device 006: ID 1532:007e Razer USA, Ltd RC30-030502 Mouse Dock
Bus 001 Device 004: ID 1532:007b Razer USA, Ltd RC30-0305 Gaming Mouse Dongle [Viper Ultimate (Wireless)]
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 007: ID 04d9:0132 Holtek Semiconductor, Inc. USB Keyboard

1 respuesta
carracho

#10996 un "ls /sys/module/usbhid/parameters" ?

1 respuesta
draz1c

#10997
$ ls /sys/module/usbhid/parameters
ignoreled jspoll kbpoll mousepoll quirks

ignoreled jspoll kbpoll mousepoll tienen como contenido 0

quirks tiene:
(null),(null),(null),(null)

2 respuestas
carracho

#10998 Me da que los drivers no están muy finos: https://github.com/torvalds/linux/blob/master/drivers/hid/hid-holtek-kbd.c

Pero vamos, poco más te puedo decir... "ls /sys/module | grep holtek" ¿te da algo?

1 respuesta
maxmalkav

#10998 el comportamiento que buscas es que el volumen suba o baje tan solo manteniendo pulsada la tecla (key hold ), más similar a un control analógico que a pulsaciones discretas, no?

2 respuestas
carracho

#11000 Yo entiendo que es Fn + FX (volumen) = Subir/Bajar .... y que no se pare tras hacer la primera bajada/subida.

Puede ser algo de la configuración del sistema... pero ya aquí... se me escapa. No he pasado por ese camino, no se como se anda xD

1 respuesta
FlameThrower

En Fedora 40 mi teclado Corsair tiene exactamente el comportamiento que busca @draz1c sin ningún tipo de modificación en el SO. :man_shrugging:

1 respuesta
draz1c
#10999carracho:

"ls /sys/module | grep holtek" ¿te da algo?

Nada

#10999carracho:

Creo que va a ser cosa de los drivers como mencionas, que no configuraron que esas teclas tengan la funcion de holdearla.

#11000 #11001 #11002 Por poner un ejemplo, las teclas F7 y F8 si tienen hold y repeticion, y con xbindkeys puedo mapear esas teclas a subir y bajar el volumen asi:

# Subir volumen
"pactl set-sink-volume @DEFAULT_SINK@ +1000"
    F8

# Bajar volumen
"pactl set-sink-volume @DEFAULT_SINK@ -1000"
    F7

Ahora con xbindkeys corriendo si mantengo presionada la tecla F7 el volumen va bajando y si mantengo presionado F8 el volumen va subiendo (pero no quiero tener ocupadas esas teclas para esto claro). Pero en cuanto entra en la ecuación Fn+F2 y fn+F3 ya es cuando ocurre lo que menciono de que solo se registra 1 pulsación puesto que tanto solar la tecla nada mas tocarla como mantenerla presionada produce el mismo resultado.

Doest

Has probado usar la tecla de Windows en vez de FN?

Igual tienes mas exito que la tecla FN donde en la mayoría de distros es invisible

Usuarios habituales

Tags