Brian Lovin
/
Hacker News
Daily Digest email

Get the top HN stories in your inbox every day.

adanto6840

Shameless self-promotion, but I used a Stream Deck to make "Princess Buttons" for my kids: https://dantonio.info/projects/the-buttons/

Allows me to not be the DJ/arbiter of music for my toddlers, yet still provides them with control over the music (Sonos) and helps them learn to negotiate & take turns between themselves. The Stream Deck has, thus far, held up to quite a lot of abuse. I've added some lighting control and they have play/pause/next control, too -- works great. The USB 'server' software is fantastic, too. =D

abrugsch

Also thanks for sharing, however your second picture in the header screams to me that Streamdeck + sand doesn't go well together and looks like a common combination when kids plus outside play settings are combined. You mention a waterproof enclosure but I doubt the streamdeck itself is IP rated. I suspect a thin transparent sheet over the top would fix that though, or do you just replace the streamdeck every so often?

adanto6840

It's been out there for a year and is still working well, though is indeed dirty (I wipe it down occasionally). There's a bit of overhead protection from the elements and we discourage sand/dirt being applied to the buttons, though I did consider a silicon "liner" at some point. The Stream Deck itself seems to be more rugged than I expected, though! :)

egypturnash

Have you added the Pizza Button yet? :)

sylvinus

I built something somewhat similar, to link YouTube videos to steam deck buttons so my 2yo kid could listen to his songs :) It runs everywhere Python is available, including raspberry pis ;) Code is here: https://github.com/sylvinus/raspberrydeck

smcl

No shame in sharing something cool on HN. This was a nice well-executed project, also I like the look of your blog

bonestamp2

I love this, thank you for sharing. Also, I'm curious... what does the "Great Wolf Lodge" button do?

adanto6840

It originally turned the misters on plus queued their "Great Wolf Lodge" playlist. It now just does the latter, as the misters weren't as well-received as I thought that they'd be. =D

bozhark

Must be for the water works

philderbeast

that poor stream deck looks well loved, hopefully it doesn't die on you from getting dirt/water/god knows what else on it in the hands of children :)

cletus

As an alternative to a stream deck, I started using a MIDI board last year. I tried a copule and settled on the Behringer X-Touch Mini [1]. It's less than $100. What I primarily use it for is volume control (including muting). Like I have a particular knobs for Chrome, Master Volume and games. This is all pretty easy to set up with something like MIDI Mixer [2]. There are Youtube videos on it.

I also use the media controls for Spotify.

This particular board has extra buttons you can use for, say, muting Zoom.

As an aside, volume on Windows is a horrible mess. You can have an external speaker volume, a system Master volume, an app-specific volume (the last 2 through the Windows Volume Mixer) and then volume settings inside a game.

One thing I appreciate about iOS for example is there's just one volume for what you're doing. There are separate volumes (eg ringer, speaker, music) but you only ever adjust one and it's context-dependent. Listening to music? You adjust music volume. On a call? You're adjusting call volume. Not on a call? You're adjusting ringer volume.

In an ideal world, the hardware volume could be synced to the system master volume and there would be no game or app specific volumes. All of these would be deffered to the volume mixer. Or at least any in-game or in-app controls would merely adjust that volume.

I can but dream.

The only thing this particular board doesn't have is motorized sliders for volume. I didn't really find any options for this less than $300-500 and they tended to be much bigger boards. I'd really prefer a slider to a knob but that's just nit-picking.

[1]: https://www.behringer.com/product.html?modelCode=P0B3M

[2]: https://www.midi-mixer.com/

hbn

> As an aside, volume on Windows is a horrible mess. You can have an external speaker volume, a system Master volume, an app-specific volume (the last 2 through the Windows Volume Mixer) and then volume settings inside a game.

You never have 2 applications outputting audio and you want to balance them? Sometimes I'll be playing a game and listening to a podcast at the same time, and I want the podcast to have the louder audio, so I turn the game down.

On my Mac I use for work, sometimes I'll be in a Teams meeting where I only need to be partially paying attention, and I'd like to be able to turn the Teams volume down and have something else at the forefront, but I can't do it because there's no volume mixer.

cletus

You misunderstand my complaint.

Windows already does this. There's a volume mixer where each app has its own volume. That's still the case AND the game/app has a separate volume.

So the actual volume playing is effectively:

Hardware volume x Windows master volume x Windows app volume x In-app volume

No one wants or needs that level of control. You end up adjusting these separately as you need until you find out one day the hardware volume is on max but the master volume is near zero and you've been compensating for that by maxing out the in-app volume.

diffeomorphism

There is one x too many, yes. But otherwise I absolutely do want that.

Hardware × software master × in-app,

maybe condensed with "flat volume", so that raising the in-app volume also raises master if necessary, while leaving other sounds at the same effective level.

The only difference I see compared to what you call iOS is that that one throws all "video" together in one giant pile. Thus youtube, netflix, spotify etc. all get the same default volume. That is really annoying me with android and I want that off!

hbn

Not all apps have in-app volume. In which case you have Hardware volume x Windows master volume x Windows app volume -- and which should be removed? No hardware volume? Everything controlled by software? Sounds horrible. No Windows master volume? What if you want everything quieter, turn it all down one-by-one? No Windows volume mixer? I explained why that's an issue in my previous comment.

Your example of a good implementation is iOS which is hard to compare to because mobile OSes are generally single-task focused. But I certainly wouldn't want an iOS-style volume control on my PC.

reificator

> So the actual volume playing is effectively:

> Hardware volume x Windows master volume x Windows app volume x In-app volume

> No one wants or needs that level of control.

I don't have a separate hardware volume relative to the Windows master volume, but otherwise I want and need that level of control.

- Windows Master Volume: I turn the knob on my headset or keyboard and things get quieter or louder. This is the thing I adjust most frequently.

- Windows App Volume: I turn games down, usually to 10-20% or so. Then I turn everything but comms (discord, zoom, etc) down to 80%. This ensures that I hear live communication over all else, and that my games aren't drowning out whatever I'm watching in the background.

- In-App Volume: Here I adjust balance in games. Music unfortunately gets set to 0 because I'm rarely just playing a game these days. Voice lines get set higher than sound effects until I'm sure I can distinguish them clearly.

undefined

[deleted]

oneeyedpigeon

The media keys are atrociously implemented on macOS - I don't know how they've managed it so badly, for so long, without a fix. Listening to Spotify and pressing play/pause, you'd expect the music to pause, not to suddenly be listening to additional sound, often from a video in a browser tab you last played a month ago.

flexd

I use Voicemeeter Banana to control audio on Windows. Works great for exactly that scenario, where I want my voice comms to have a higher volume than games, and also nice when I have multiple inputs (microphones) and outputs

masklinn

> I can't do it because there's no volume mixer.

Have you tried Rogue Amoeba’s Loopback?

kllrnohj

> In an ideal world, the hardware volume could be synced to the system master volume

This already works if you're using something that can be controlled via the windows volume. Eg, a USB dac+amp usually works like this. That is, the "hardware volume" and "windows master volume" become one synchronized slider.

Very often there's a break in the digital chain that prevents this from working more broadly, though (for example if you're outputing analog to your speakers, or using separate dac & amp)

sokoloff

One of things that drives me crazy about iOS volume control is trying to adjust the volume of navigation while driving.

Navigation system pipes up; that’s a little more quiet than I’d like; by the time I can adjust it safely, it’s only time to adjust the ringer; repeat.

eproxus

They're a bit pricey but the gear from Intec would be perfect for this: https://intech.studio

busterarm

I'm doing similar with a Novation Launchpad X that I already had.

I'm primarily using it with OBS but also use it with Zoom and a few other applications.

filoleg

Any resources that you could recommend on this? Was thinking of trying to put mine up to a similar use.

busterarm

A lot of apps that I use support midi input. The Launchpad has a webapp that lets you configure the outputs of each pad to send different types of MIDI outputs.

The only hitch is that the Launchpad doesn't send NoteOff messages, it sends NoteOn twice with the second time being volume 0.

For apps that don't support MIDI input, there's a tool called Midikey2key which lets you map MIDI messages to keyboard inputs/shortcuts.

Twirrim

I never thought I'd have a use for extra buttons all that much. There's always keyboard combinations to spare.

Yet about 18 months ago, I remembered I'd got these 5 custom buttons on my keyboard that in something like a decade and a half of using this keyboard model, I'd never once used.

A little bit of searching later, I figured out how to write a bash script that would (for Linux) find the zoom window for whatever meeting or webinar I was in, and bring that up. Then a second script to do the same but also unmute. That has become so insanely useful I'm really kicking myself about not having used those buttons before.

marvin

This is a bit of an aside, but I play a lot of Playerunknown's Battlegrounds with a regular team of friends. That game has a fiendish amount of keyboard commands, even related to regular movement. Many of them can be accessed through sub-menus, but that puts you at a competitive disadvantage when things happen fast.

I've figured out that I just don't have the hand-eye coordination to move in four directions, activate the scope, zoom the scope, lean left and right, aim the gun and fire it during the exact right milliseconds.

So I unloaded the "lean left and right" actions from my right hand to my feet, using a set of rudder pedals intended for a flight simulator. I then unloaded some of the esoteric menu options from keyboard shortcuts to a Stream Deck with user-friendly (works even for six-year olds) picture interface right in front of me. Improved my performance considerably.

memoriasit

Could you share that script?

Twirrim

Hopefully I get this right with the formatting.

    #!/bin/sh
    ZOOM=$(xdotool search --limit 1 --name "Zoom Meeting")
    ZOOM_WEBINAR=$(xdotool search --limit 1 --name "Zoom Webinar")
    
    if [ -z "${ZOOM}" ]; then
        xdotool windowactivate --sync "${ZOOM_WEBINAR}"
    elif [ -z "${ZOOM_WEBINAR}" ]; then
        xdotool windowactivate --sync "${ZOOM}"
    fi
    
    sleep 0.1
    xdotool key --clearmodifiers "alt+a"

hammock

Would it work for Mac?

Twirrim

It relies on xdotool, which I don't think works on Mac?

If I was still on mac, I'd probably try and use hammerspoon somehow. I used that for a few bits of automation, and I know it had ways to choose applications.

rtpg

For someone who kinda wants this stuff but doesn't feel great about spending 200 bucks for 15 buttons and all the garbage that goes with...

an idea I had last week seeing this article is to buy a USB 10-key numpad from a pawn shop, and use something like kmonad[0] to map key presses from that device to specific actions.

Reuse some existing tech, and you can just tape over buttons. It's not exactly the same product for obvious reasons, but I feel like you can do some magic with statusbars and toasts in scripts to get something decent.

[0]: https://github.com/kmonad/kmonad

Handytinge

I have a Logitech G13 for this. I don't think Logitech have sold them in about 10 years, but they're wonderful devices. A bit of paper with a picture and clear tape does wonders.

rnoorda

I used a RP2040 macropad from Adafruit [0] to play with this- I use mine as numpad on occasion, but can also use it for Zoom controls, media volume/next/speed/etc, or Photoshop actions.

[0]: https://www.adafruit.com/product/5128

hellweaver666

Pimoroni also make a Macropad based on the 2040. It's a little simpler in design but works on the same basis.

slightwinder

> For someone who kinda wants this stuff but doesn't feel great about spending 200 bucks for 15 buttons and all the garbage that goes with...

Streamdeck goes occasionally on sale, so it's more like $100 for the small deck if you can wait.

> an idea I had last week seeing this article is to buy a USB 10-key numpad from a pawn shop, and use something like kmonad[0] to map key presses from that device to specific actions.

One can also use just any old normal keyboard. For a while I used a small 60% with self written python-script to rebind keys to my own demand. But the benefit of the streamdecks lcd-displays was in the end to tempting.

Anyway, I think any OS is capable of rebinding a complete device. So it's really just a matter of desk-estate and ergonomic which device one prefers.

djaychela

I did exactly this during lockdown 1 in the UK to allow me to easily control OBD for online guitar lessons (I used 3 cameras plus on screen pdfs in various combinations). It worked well (I did it because no one had stream decks in stock at the time), but it was pretty fiddly to set up or modify.

I now have a steam deck xl, and it's light years better. Obviously 20x the cost, but well worth it in my opinion.

weaksauce

I got one as a gift and was a bit skeptical of it too as a programmer that does most of the work in code with vim commands but have come around on it.

useful to have as a clock/date for a few locations at a glance. opens up some apps too but the main thing I use it for is having a few reference docs that you can open up with a button. window layout buttons are nice too. the other thing I use it for is setting brighness on the screen and locking the screen. Not sure I'd buy one but they are neat to have if you get one as a gift.

mianos

I initially got mine for zoom calls but having a display on each key has allowed me to add a couple of different clocks with different time zones in the button. If someone said to me, "that's dumb, you can have a clock on your desktop", I might have agreed with them. But, having the little clocks always in the same place on the desk is really handy.

The other handy one is the mac email notification button, showing how many new emails I have.

I think they are way too expensive for what they are but now I have one, I would probably spend the money again if it got stolen.

samstave

Way back in the 90s I was using AWESOME fully mapped WACOM tablets for AUTOCAD...

Eveyr command was basically on the tablet, and in the center was the screen area...

There was a printed menu-matrix configured for autocad...

It made drawing so fast (I finished second in the National CAD Olympics in ~1993 and finished a 3 hour test in in 30 minutes.)

For years this device made me extremely fast on CAD.

The muscle memory for the location of certain items, coupled with the custom keyboard shortcuts for all other autocad commands could be done with being mostly mapped to keys close to the left hand placement...

I miss those tablets. I should get another one.

The point is that if you can know what core functions you want on the extra input real-estate... you can make your workflow very streamlined.

guiambros

I love my Stream Deck for all the reasons described by others in this thread, but unfortunately support for Linux is nonexistent.

You need to rely on the open source reverse-engineered version of Elgato StreamDeck in Python [1], with the StreamDeck UI on top [2][3]. It works, but it doesn't offer all the functionality, and it's even more rough on the edges.

Plus, if you have a StreamDeck connected to a KVM and it is switching between two computers (a Mac and Linux, in my case), then you'll have completely different experiences, with different icons, plugins that are not available on Linux (e.g., Spotify, Clock).

I still use it and find it worth the investment, but hoping that Elgato dedicates some love to Linux users in the future.

[1] https://python-elgato-streamdeck.readthedocs.io/en/stable/#

[2] https://timothycrosley.github.io/streamdeck-ui/

[3] https://github.com/timothycrosley/streamdeck-ui

rcarmo

I have one, but the software is just annoying, so I recently bought an Adafruit MacroPad: https://www.adafruit.com/product/5128

It works on any device including my iPads, and although I'm only using it for keypresses, there are plenty of modules for doing MIDI and other HID shenanigans that I haven't investigated yet.

jeremymcanally

I use mine daily for a few things, and I'm not a content creator. The Zoom buttons are great because it's one tap access to mute/unmute or video on/off regardless of what window I have on top at the time. I set my other buttons to common websites that I use, so I don't have to go hunting for the Okta tile or bookmark.

Could I do these things with other tech? Sure, but this was pretty affordable, is really attractive and customizable, and has software that works really well out of the box. Hard to beat for someone lazy like me. :D

TwoNineA

I am using the duckyPad, text file configuration on an SD card, no need for complex software. Works on any OS that supports USB HID devices.

https://www.tindie.com/products/dekuNukem/duckypad-do-it-all...

movedx

I think the biggest difference here is the lack of LCD buttons on the duckyPad.

People are able to identify icons quicker and better than they are the right key to press to get a certain action, in the case of the duckyPad.

Plus, the Stream Deck allows you to create folders, so you can technically get very complicated workflows on the S/D versus the duckyPad.

Just a thought.

least

While the duckpad and other firmware alterable keyboards are great, they are still limited to being configured to perform keypresses of a keyboard or a few other functions (like MIDI support in QMK). The "complex software" of the Elgato lets it do more complex things.

AgentME

Yeah, the Stream Deck's software is great because it doesn't require using up one of the limited keyboard keys (or creating a modifier-based combo that can interrupt your typing) for each function.

syntheweave

This tracks with my experiences. Classical macro shortcut keys are great if you can spare the effort of preparing an ultimate workstation setup for them. But the majority of the workflow you want to have concentrated on a vocabulary of a few keys that you reuse a lot like "copy" or "undo". And that only needs a few keys, and moreover, it's usually pretty contextual to a specific app and not strictly about keys but the whole range of inputs - some apps need you scrubbing through timelines and tracks, others need zoom and rotate. Lots of apps have modal toolbars, but they don't all use the same shortcuts to select the pencil tool or the crop tool, so you have layers of configuration to solve to get to the point where you can even test the setup.

So devices with screen displays for shortcuts like the Stream Deck, the Xencelabs Quick Keys, or the many DIY programmable solutions are pretty indispensable because they let you trial and error ideas, and give you a context hint while also keeping the keys located in the same place - they let you ramp up to a traditional macro experience as you start getting pages of stuff you want to trigger. And this goes even more so if they are able to respond to desktop generated events and present the right context automatically.

A nice cheap alternative to the dedicated hardware is the various tools that are smartphone-based: if you're going to look away from the screen to browse, and you want to trial ideas for shortcuts, then tactility isn't so important and the rest is a matter of getting a good software experience.

humbleguy

prawn

I'd be interested to know how something like that worked for Lightroom or Resolve where you interact constantly with sliders or wheels.

Daily Digest email

Get the top HN stories in your inbox every day.

A year with the Elgato Stream Deck - Hacker News