¿Usar el bloqueo de mayúsculas para bloquear la tecla fn u otra forma de bloquear la tecla fn?

2

Lo que quiero lograr es simple:

  • mayúsculas on = fn bloqueadas ( usa las teclas de función ).
  • bloqueo de mayúsculas desactivado = fn desbloqueo ( usar claves de medios ).

Encontré un par de temas sobre este problema, pero sus soluciones no me ayudaron:

  • Marcar / desmarcar la opción "Usar las teclas fn como estándar" en el panel de preferencias del teclado es lo que quiero lograr al presionar / no presionar la tecla mayúsculas .
  • Otras soluciones, como el programa Functionflip o la reasignación de herramientas del teclado como Karabiner no parecen ser propuestas para resolver mi problema.

¿Conoces programas o soluciones que puedan lograr esto?

Si no:

  • ¿Puedo asignar un programa a la tecla mayúsculas ? ¿Cómo?
  • ¿Puedo alternar la opción en el panel de preferencias del teclado con una secuencia de comandos?
pregunta mperrin 24.04.2016 - 12:53

2 respuestas

2

Para abordar el último punto de tu publicación, " ¿Puedo alternar la opción en el panel de preferencias del teclado con un script? ", aquí está el código de AppleScript que aparecerá cambiar el estado de la casilla de verificación "Usar todas las teclas F1, F2, etc. como teclas de función estándar" en la pestaña Teclado de las Preferencias del Sistema del Teclado.

tell application "System Preferences"
    activate
    set the current pane to pane id "com.apple.preference.keyboard"
    reveal anchor "keyboardTab" of pane id "com.apple.preference.keyboard"
end tell

tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
end tell

quit application "System Preferences"

Nota: este código se probó en OS X 10.8.5. Es posible que deba ajustarse para versiones posteriores de OS X.

Puede usar este código en una aplicación de AppleScript que podría colocarse en el Dock o en un flujo de trabajo del servicio de Automator al que se le podría asignar un atajo de teclado, etc. Si necesita ayuda con eso, simplemente preguntar.

    
respondido por el user3439894 24.04.2016 - 14:41
0

En realidad, si usas Karabiner Elements de todos modos, hay una manera más fácil de lograr esto:

Aunque es una mezcla de "mundos" (Karabiner / shell / GUI), su encanto es que no necesita ninguna otra (s) aplicación (es) para obtenerla "acceso directo" ;-)

{ "parameters": {
          "basic.to_delayed_action_delay_milliseconds": 1000},
"from": {
          "key_code": "return_or_enter",
          "modifiers": {
                "mandatory": ["control", "shift" ] }
        },
 "to": [{"shell_command": "open -g /System/Library/¬ 
                           PreferencePanes/Keyboard.prefPane/"
                              }],
 "to_delayed_action": {
       "to_if_invoked": [                     ___
            {"key_code": "tab"},                 |   These key-codes
            {"key_code": "tab"},                 |   can be replaced
            {"key_code": "tab"},                 |   by a single osa-
            {"key_code": "tab"},                 |   script, more ele-
            {"key_code": "tab"},                 |   gantly, listed
            {"key_code": "spacebar"},            |   below !         *)
            {"key_code": "q",                    |   
             "modifiers": ["command"]},       ___| < (Easier to handle)
            {"key_code": "escape"}] },
 "type": "basic"
}
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

(* 'tell application \"System Events\" to tell process ¬
    \"System Preferences\"\n click checkbox 1 of tab group 1 ¬
    of window 1\n end tell\n quit application \"System Preferences\"'

Como puede ver, el teclado de Preferencias del Sistema se abre mediante un comando de shell, que exige "tiempo de espera" para los siguientes códigos de clave (milisegundos: 1000).

No encontré un atajo de teclas para acceder a la casilla de verificación, por lo que navega por 5 "pestañas", una "barra espaciadora" (= clic), cierra el prefpane y establece un "escape" final ( sin él, mi sistema reacciona con un retraso).
(Agregué un extra, en realidad parte de AppleScript de la primera respuesta, pero adapté: \n para saltos de línea, \" para teclas especiales).

Instalé un acceso directo "Ctrl-Shift-Enter", puedes usar s.th. otra cosa ...
("caps_lock" en EventViewer envía either key_down or key_up - presione dos veces para cambiar de estado!)

Este código se puede insertar en su karabiner.json manualmente, o importarlo, ya que una "modificación compleja" necesita un título ": > rules: > description: > manipulators:" -framework (recicle el existente).

    
respondido por el clemsam lang 19.10.2018 - 13:45

Lea otras preguntas en las etiquetas