Tengo una extraña, altamente específico de problema al usar mi terceros teclado USB con mi MacBook Pro: option + left-shift + right-arrow
(que como Mac, los programadores saben que significa "poner de relieve la palabra a la derecha del cursor") no funciona. Las razones detrás de esto no están claras, pero sé que no tiene que ver con el nivel de usuario preferencias de software, ni directamente con un bajo nivel de problema de hardware (ver mi pregunta original en superusuario para la completa solución de problemas de lógica).
Debo señalar que es un hecho-para-Windows del teclado: un Thinkpad USB Keyboard with Trackpoint, de hecho-el trackpoint ser la razón por la que me gusta tanto y se pega con él a pesar de sus problemas. Así que la clave yo soy el que yo soy la asignación a option
en las Preferencias del Sistema es en realidad el "Logotipo de Windows".
Se hace el trabajo si puedo usar option + RIGHT-shift + right-arrow
pero esta es una muy torpe posición de la mano para moverse rápidamente alrededor de mis documentos. Así que me gustaría intente cambiar la Mac de la interpretación de la izquierda y la derecha teclas mayús. Es esto posible, y si es así, ¿cómo?
Actualización:
En la propuesta de "Tetsujin
Traté de Mosquetón, pero parece que el problema que está sucediendo en un nivel inferior. El evento de teclado para la flecha hacia la derecha nunca llega Mosquetón si el Windows-logo
e (física) left-shift
las claves se mantienen abajo (y no importa si Windows logo
se asigna a otro modificador: el problema está pegada a la que se concreta la física combinación de teclas).
En respuesta a la observación formulada por el Insomne Software aquí está lo que el Mosquetón EventViewer dice que cuando la prensa:
Windows-logo + left-shift + left-arrow
:
eventType:keyMod code:0x3a name:Option_L flags:Opt misc:KeyCode::OPTION_L characters:
eventType:keyMod code:0x38 name:Shift_L flags:Shift Opt misc:KeyCode::SHIFT_L characters:
eventType:keyDown code:0x7b name:Left flags:Shift Opt NumPad Fn misc:KeyCode::CURSOR_LEFT characters:
eventType:keyUp code:0x7b name:Left flags:Shift Opt NumPad Fn misc:KeyCode::CURSOR_LEFT characters:
eventType:keyMod code:0x38 name:Shift_L flags:Opt misc:KeyCode::SHIFT_L characters:
eventType:keyMod code:0x3a name:Option_L flags: misc:KeyCode::OPTION_L characters:
Windows-logo + left-shift + right-arrow
:
eventType:keyMod code:0x3a name:Option_L flags:Opt misc:KeyCode::OPTION_L characters:
eventType:keyMod code:0x38 name:Shift_L flags:Shift Opt misc:KeyCode::SHIFT_L characters:
eventType:keyMod code:0x38 name:Shift_L flags:Opt misc:KeyCode::SHIFT_L characters:
eventType:keyMod code:0x3a name:Option_L flags: misc:KeyCode::OPTION_L characters:
Windows-logo + right-shift + right-arrow
:
eventType:keyMod code:0x3a name:Option_L flags:Opt misc:KeyCode::OPTION_L characters:
eventType:keyMod code:0x3c name:Shift_R flags:Shift Opt misc:KeyCode::SHIFT_R characters:
eventType:keyDown code:0x7c name:Right flags:Shift Opt NumPad Fn misc:KeyCode::CURSOR_RIGHT characters:
eventType:keyUp code:0x7c name:Right flags:Shift Opt NumPad Fn misc:KeyCode::CURSOR_RIGHT characters:
eventType:keyMod code:0x3c name:Shift_R flags:Opt misc:KeyCode::SHIFT_R characters:
eventType:keyMod code:0x3a name:Option_L flags: misc:KeyCode::OPTION_L characters:
(NB: windows-logo + right-shift + left-arrow
también funciona, en caso de que se preguntan).
Tenga en cuenta que en el caso específico de windows-logo + left-shift + right-arrow
Mosquetón ve menos eventos en el primer lugar. Veo la misma historia (al menos, de lo que puedo decir) de Mosquetón del registro de depuración: el menor número de eventos generados por la problemática específica de combo. He recortado todo lo que hasta --Debug--
en cada línea, para los mismos tres casos:
# Windows-logo + left-shift + left-arrow
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x800a0022, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x000a0022, key 0x0038, kbdType 40, repeat = 0
UpdateEventFlagsCallback [ caught]: flags 0x002a0022
KeyboardEventCallback [ caught]: eventType 10, flags 0x802a0022, key 0x007b, kbdType 40, repeat = 0
UpdateEventFlagsCallback [sending]: flags 0x002a0022
KeyboardEventCallback [sending]: eventType 10, flags 0x002a0022, key 0x007b, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 11, flags 0x802a0022, key 0x007b, kbdType 40, repeat = 0
UpdateEventFlagsCallback [ caught]: flags 0x000a0022
KeyboardEventCallback [sending]: eventType 11, flags 0x002a0022, key 0x007b, kbdType 40, repeat = 0
UpdateEventFlagsCallback [sending]: flags 0x000a0022
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x80000000, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00000000, key 0x003a, kbdType 40, repeat = 0
# Windows-logo + left-shift + right-arrow
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x800a0022, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x000a0022, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x80000000, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00000000, key 0x003a, kbdType 40, repeat = 0
# Windows-logo + right-shift + right-arrow
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x800a0024, key 0x003c, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x000a0024, key 0x003c, kbdType 40, repeat = 0
UpdateEventFlagsCallback [ caught]: flags 0x002a0024
KeyboardEventCallback [ caught]: eventType 10, flags 0x802a0024, key 0x007c, kbdType 40, repeat = 0
UpdateEventFlagsCallback [sending]: flags 0x002a0024
KeyboardEventCallback [sending]: eventType 10, flags 0x002a0024, key 0x007c, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 11, flags 0x802a0024, key 0x007c, kbdType 40, repeat = 0
UpdateEventFlagsCallback [ caught]: flags 0x000a0024
KeyboardEventCallback [sending]: eventType 11, flags 0x002a0024, key 0x007c, kbdType 40, repeat = 0
UpdateEventFlagsCallback [sending]: flags 0x000a0024
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x003c, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x003c, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x80000000, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00000000, key 0x003a, kbdType 40, repeat = 0