He visto mapeos similares realizados en Karabiner - un sistema más flexible para el mapeo de las claves. Permite incluso mapeos divertidos - como en la tecla shift derecha, o funciones que ocurren si se mantiene una tecla. Pero requieren un poco de escritura y aunque es fácil conseguir algo que funcione en mi máquina, es difícil encontrar algo que se pueda compartir. Voy a esbozar lo que creo que hay que hacer.
Karabiner una característica llamada "Modificaciones complejas" que permite esto. Encuentro que la documentación es escasa pero es bastante simple de entender.
Hay una serie de mapeos prehechos donde el código puede ser inspeccionado en modificaciones_complejas (usa el "show JSON" que se revela al hacer clic en el triángulo junto a "importar").
Los mapeos personalizados pueden ser puestos bajo ~/.config/karabiner/assets/complex_modifications
y luego puede ser importado.
Todos los mapeos de la aplicación de lanzamiento tienen una línea como esta:
"shell_command": "open '/Applications/TextEdit.app'"
Lo único que falta es el archivo seleccionado.
oh-my-zsh tiene una función que hace esto. Es bastante corto, aquí en su totalidad:
pfs () {
osascript 2> /dev/null <<EOF
set output to ""
tell application "Finder" to set the_selection to selection
set item_count to count the_selection
repeat with item_index from 1 to count the_selection
if item_index is less than item_count then set the_delimiter to "\n"
if item_index is item_count then set the_delimiter to ""
set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter
end repeat
EOF
Desde la línea de mando, un mando como este funciona:
open -a TextEdit $(pfs)
Todo lo que quedaría es averiguar cómo llevar la definición de pfs a Karabiner... Dejaré eso como ejercicio para el lector interesado