7 votos

intercambio de asignación de la izquierda y la derecha teclas mayús

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

1voto

sammyg Puntos 6435

De sus ediciones, parece que el teclado específico que está utilizando está causando el problema. Yo no conozco ninguna manera de arreglar eso, por desgracia, pero pensé en la respuesta a la pregunta original, de todos modos.

Puede reasignar las teclas modificadoras en OS X a partir de al menos 10.4 a través de 10.10.4 por cambiar una Propiedad de la Lista (.plist) archivo. El archivo se encuentra dentro de ~/Library/Preferences/ByHost, y es nombrado .GlobalPreferences.[a long identifier].plist, donde cada usuario de la larga identificador de la variable. (En el Terminal, sólo se puede utilizar el autocompletado para recoger el nombre de su archivo).

Aquí están los pasos para copiar, convertir, editar y reemplazar el .plist:

  1. En Preferencias del Sistema > Teclado, haga clic en "Teclas" y de reasignación de al menos uno de los botones (por ejemplo, Bloqueo de mayúsculas > Control). Esto se asegurará de que la sección adecuada existe en el .plist, y hacer que sea más fácil de encontrar.
  2. En la Terminal, ir a o crear un directorio donde vas a hacer el trabajo, entonces:

    1. cp ~/Library/Preferences/ByHost/.GlobalPreferences (, a continuación, presione Tab para autocompletar el nombre de archivo único)
    2. plutil -convert xml1 -o ./keys-xml.plist ./keys-binary.plist
  3. Abra la convierten archivo XML. (Usted puede usar open /Applications/TextEdit.app keys-xml.plist el lanzamiento de la edición de textos de la Terminal.)

  4. Busque la sección en el archivo llamado "com.apple.keyboard.modifiermapping...". Debería ver al menos una "dict" grupo dentro de esa sección. Realmente va a ser una entrada por cada clave específica que ha sido reasignado, así que si usted vuelve a asignar el Control a Cambio, tendría que ver las entradas de la reasignación de LeftControl a LeftShift y RightControl a RightShift.
  5. Modificar la entrada existente utilizando la tabla a continuación, cambiar el HIDKeyboardModifierMappingSrc del valor de la clave de la clave de la Fuente (la física del botón de prensa, y el HIDKeyboardModifierMappingDst del valor de la clave para el Destino de la clave (la clave que desea tomar efecto).
  6. Copiar todo el dict sección (de <dict> a </dict>, incluyendo la asignación de claves y pegar uno por cada tecla que desea volver a asignar, cambiar el Src y Dst para cada uno.
  7. Guarde y cierre el archivo. Luego, de vuelta en la Terminal:
    1. plutil -convert binary1 -o ./keys-binary_new.plist keys-xml.plist
    2. cp ./keys-binary_new.plist ~/Library/Preferences/ByHost/.GlobalPreferences (a continuación, pulse Tab para autocompletar)
  8. Registro de salida y la de regreso en para que los cambios surtan efecto.

Aquí están los valores de la clave a utilizar para cada tecla de modificación en Src/Dst asignación:

+-----------------+-----------+
|    Key Name     | Key Value |
+-----------------+-----------+
| None            |        -1 |
| Caps Lock       |         0 |
| Shift (Left)    |         1 |
| Control (Left)  |         2 |
| Option (Left)   |         3 |
| Command (Left)  |         4 |
| Keypad 0        |         5 |
| Help            |         6 |
| Shift (Right)   |         9 |
| Control (Right) |        10 |
| Option (Right)  |        11 |
| Command (Right) |        12 |
| ~~Kernel Panic~~|      ~~16~|
+-----------------+-----------+

NB: Código de la Clave de 16 normalmente no se utiliza.

Fuente: Reescrito desde http://hints.macworld.com/article.php?story=20060825072451882

0voto

Douglas Puntos 10417

Me encontré con este artículo en mis viajes y parece que podría ser de alguna ayuda.

La reasignación de las Teclas del Teclado de Mac OS X Mavericks

0voto

He tenido un problema similar con un DAS de teclado que se hizo realidad para mi Mac - la izquierda tecla de Opción causado una misteriosa combinación de teclas, en lugar de la Opción. Para mí, esto terminó siendo un problema de hardware y he tenido que cambiar el teclado por el fabricante.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X