Followed one of the links in your article and ended up unexpectedly watching a video review of different types of canned fish (https://www.youtube.com/watch?v=rymwqxBkxus). Wasn't expecting that, but I must say I did rather enjoy it.
gregsadetsky 13 days ago [-]
You’ve been Rafal’d! Welcome to the club :)
krackers 13 days ago [-]
>To my knowledge, this can be fixed by requesting the OS-level accessibility permissions, which would require a separate user interaction.
Does this imply that running Gregglogger _doesn't_ require granting accessibility input monitoring permission? On osx there's at least 4 ways to monitor inputs I think (iokit level, cgeventap, carbon event monitoring, cocoa global event monitor), I'd really expect all of them to require the input monitoring permission.
wizerno 13 days ago [-]
It looks like you're correct -- Gregglogger relies on pynput, and its behavior on macOS aligns with the library's documented limitations [1]:
Recent versions of macOS restrict monitoring of the keyboard for security reasons. For that reason, one of the following must be true:
- The process must run as root.
- Your application must be whitelisted under "Enable access for assistive devices." Note that this might require packaging your application, since otherwise the entire Python installation must be whitelisted.
- On macOS versions after Mojave, you may also need to whitelist your terminal application if running your script from a terminal.
I also wrote a 5ish line python script that instead of logging keys, presses them. I used it to avoid idle detection in a game a few years ago. Similarly to you, I found it somewhat disconcerting how easy it was. This was on windows though.
AtlasBarfed 12 days ago [-]
Linux, especially wayland, is making keylogging and keypress manipulation really hard. This is hitting me in one of my passions: retro gaming.
I WANNA DO MACROS, but I haven't found any good solution for macros in linux (think dragon punch in Street Fighter or some other complex HID input sequence that teenies can master but oldass me can't)
And I understand why, it's a massive security problem, giving view powers to the keystream, to say nothing of manipulation.
I hope that retroarch eventually adds it, but they punt on it currently I think for the exact reasons I have problems with it.
Does anyone know any good solutions out there for X.org and Wayland?
serbuvlad 12 days ago [-]
There is an xdg-desktop-portal which an application can use to register a global shortcut.
But also, this is Rafal’s project. I’m just a huge huge fan of his..! See:
https://sit.sonnet.io/
https://untested.sonnet.io/
And https://www.potato.horse/ !
Does this imply that running Gregglogger _doesn't_ require granting accessibility input monitoring permission? On osx there's at least 4 ways to monitor inputs I think (iokit level, cgeventap, carbon event monitoring, cocoa global event monitor), I'd really expect all of them to require the input monitoring permission.
Recent versions of macOS restrict monitoring of the keyboard for security reasons. For that reason, one of the following must be true:
- The process must run as root.
- Your application must be whitelisted under "Enable access for assistive devices." Note that this might require packaging your application, since otherwise the entire Python installation must be whitelisted.
- On macOS versions after Mojave, you may also need to whitelist your terminal application if running your script from a terminal.
[1] https://pynput.readthedocs.io/en/stable/limitations.html#mac...
I also wrote a 5ish line python script that instead of logging keys, presses them. I used it to avoid idle detection in a game a few years ago. Similarly to you, I found it somewhat disconcerting how easy it was. This was on windows though.
I WANNA DO MACROS, but I haven't found any good solution for macros in linux (think dragon punch in Street Fighter or some other complex HID input sequence that teenies can master but oldass me can't)
And I understand why, it's a massive security problem, giving view powers to the keystream, to say nothing of manipulation.
I hope that retroarch eventually adds it, but they punt on it currently I think for the exact reasons I have problems with it.
Does anyone know any good solutions out there for X.org and Wayland?
https://github.com/flatpak/xdg-desktop-portal/blob/main/data...
Not sure which compositor support this and which ones don't. Hyprland, which I use, supports it.
There is also ydotool, which can emit key presses anywhere in Linux by registering a virtual uinput device.
https://github.com/ReimuNotMoe/ydotool
Using these two building blocks, it should not be very difficult to implement an application that implements global macro support.