koekeishiya / skhd

Simple hotkey daemon for macOS
MIT License
6.05k stars 204 forks source link

Simulating arrow key presses #330

Open milesromeno opened 8 months ago

milesromeno commented 8 months ago

In my .skhdrc I am attempting to bind lcmd + jikl to emulate arrow keys. I use the keywords up,left,down,right following keywords (modifiers and literals) #1

lcmd - i : up
lcmd - j : left
lcmd - k : down
lcmd - l : right

I save and run skhd -V, but I am getting the error Unknown command

hotkey :: #131 {
    mod: 'lcmd'
    key: 'i' (0x22)
    cmd: 'up'
}
hotkey :: #132 {
    mod: 'lcmd'
    key: 'j' (0x26)
    cmd: 'left'
}
hotkey :: #133 {
    mod: 'lcmd'
    key: 'k' (0x28)
    cmd: 'down'
}
hotkey :: #134 {
    mod: 'lcmd'
    key: 'l' (0x25)
    cmd: 'right'
}
skhd: watching files for changes:
    /Users/MYUSER/.skhdrc
fish: Unknown command: left
fish: 
left
^~~^
fish: Unknown command: up
fish: 
up
^^
fish: Unknown command: down
fish: 
down
^~~^
fish: Unknown command: right
fish: 
right
^~~~^

Is skhd capable of simulating arrow key presses? If so, how can I correct my config?

governorgoat commented 7 months ago

The hint is Unknown command... If you want to simulate keypresses you can use skhd directly with the -k flag

hotkey :: #131 {
    mod: 'lcmd'
    key: 'i' (0x22)
    cmd: 'skhd -k "up"'
}
hotkey :: #132 {
    mod: 'lcmd'
    key: 'j' (0x26)
    cmd: 'skhd -k "left"'
}
hotkey :: #133 {
    mod: 'lcmd'
    key: 'k' (0x28)
    cmd: 'skhd -k "down"'
}
hotkey :: #134 {
    mod: 'lcmd'
    key: 'l' (0x25)
    cmd: 'skhd -k "right"'
}