FailedHumanPrototype · 2022-07-21 03:44
Hi all !
Recent emacs convert here, I'm using emacs with org-mode / org-roam for documentary filmmaking and freelance video work. Still working on a better workflow than what I have currently
I was wondering if someone has tried to integrate Emacs with their stream deck ?
Here is what I imagine it would be useful for :
\- starting and stopping project timer with org-clock
\- global macros for pulling up a new notes or todo entry, or just general emacs macros
\- macro pad for more exotic commands that one might want to run every so often, or for switching buffers (with preview of the buffer name on the stream deck ?)
​
All of these to me seem like feasible and useful. As I am relatively new to programming and elisp, I have a vague idea of how to implement this myself, but if someone has already gone through the trouble I would be happy to hear how they went about it !
I use Doom emacs - macros and key bindings are pretty clear and easy to implement but more ways of interacting with emacs would be a plus for me !
I imagine for the global commands something like the emacs api would need to be used, I've got to look into it more.
podtatranec · 2022-07-21 05:04
Don't use stream deck (what an unfortunate name clash with steam deck) but...
If I am reading [https://github.com/timothycrosley/streamdeck-ui/](https://github.com/timothycrosley/streamdeck-ui/) correctly you can assign arbitrary commands to those buttons. So assuming you are running emacs in daemon/server mode (why wouldn't you...) if nothing else you could execute:
```
emacsclient --eval '(whatever-lisp-code-you-need-to-trigger)'
```
And it's a USB "keyboard" basically so it is probably possible to just remap those keys (maybe to something like F13-FXX) which you could then in any apps as ordinary keyboard shortcut too
FailedHumanPrototype · 2022-07-21 05:53
oo interesting. I am running daemon-client so that would probably be the easiest way to do things.
Still will need to figure out what lisp code I'll want to run but I'll work on it this summer
rswgnu · 2022-07-22 01:26
Use Hyperbole’s action buttons which can be embedded in any type of buffer and can run any Lisp function call with a keypress or mouse click. No need to make a key binding per action; you can create files of actions and invoke them even by name whenever you want.
Simply install the Hyperbole package, then type:
M-x hyperbole-mode RET
to enable it globally. Then in a desired buffer,
enter any Lisp sexpression. Either replace the outer parens with <angle brackets> or add such brackets. Then press M-RET within the angle brackets to execute the expression.
It’s that simple.
FailedHumanPrototype · 2022-07-22 05:31
Huh, interesting, I'll look into it
Thanks!