Stream Deck Intergration

Posts: 26
Just wondering if there is or will be some sort of integration for the Steam Deck.. I just picked up the Xl and going to use it for my OBS streaming. So far I have really been in awe of what this thing will do..
Posts: 785
We have looked into it and it will likely happen at some point, but it requires some effort and I can't say when it will be done.
Posts: 10
All we need is for the ATVO hotkeys to continue to work when atvo control screen is not in focus.:angel:
Posts: 785
I think I can enable that, let me check.
Posts: 785
Allen Krier wrote:
All we need is for the ATVO hotkeys to continue to work when atvo control screen is not in focus.:angel:
This is now possible from version 1.33.2
Posts: 1
I have a stream deck setup with hotkey but it wont switch any buttons in ATVO but my keyboard will. is there a setting that would need to be changed to accept a stream deck input?
Posts: 785
We don't support stream deck directly yet. I guess you'd have to let stream deck simulate a key press somehow.
Posts: 41
@Zanek: it may help us if you could send us your theme so we can test it ourselves. Feel free to send the theme to info@appgineering.com - thanks!
Posts: 10
Nick Thissen wrote:
Allen Krier wrote:
All we need is for the ATVO hotkeys to continue to work when atvo control screen is not in focus.:angel:
This is now possible from version 1.33.2

Fantastic work gentleman! I will test and report my findings!
Posts: 3
The hotkey's are working if operated on normal keyboard - but not recognized as hotkey action from stream deck. The stream deck hotkeys do show up on cmd console. Is ATVO is using kbd scan codes or key up/down event's ? Then I think steam deck will never work - it seems to use something like std in/out streams ...
Posts: 785
When your hotkey is checked to be "Global", then we register it as a global hotkey on Windows using the low-level "RegisterHotKey". I am not so familiar with this to be honest, but it sounds like the lowest level possible and I would expect any emulation of keypresses to be captured as well. Perhaps Streamdeck is doing something else entirely, we will test it out.

Please ensure you had the Global option checked. The non-global hotkeys will probably not work with Streamdeck indeed.
Posts: 3
Re-checked it with the Global option active. It does not work with stream deck.
It would be great if you would check that out. In conjunction with the hotkeys for control buttons - is there any way to define hotkeys for the replay control on the timing screen (Play/Pause, FR, FF etc.) ?
Posts: 785
We just tested it ourselves and Kevin reported that it was working just fine, but only with the Global option checked. Not sure why it isn't working for you. How are you emulating keystrokes in the Streamdeck?
Posts: 3
I'm using the System:Hotkey action.
I checked it again and found that it works with global option if NO ATVO-Window has focus but any other window. When focus is set to ATVO control or timing screen the keys from stream deck will no longer work ...
Posts: 53
Just one question so I know that I understand it correctly - right now StreamDeck works only as emulating the keyboard and individual keys, like binding A or P, but not directly StreamDeck keys?
Posts: 41
Yes. Simply bind a key (like A or P) in your theme and use the hotkey binding in the streamdeck feature. But it does not seem to work perfectly at the moment.
Posts: 46
Hello,

I've tried the Hotkeys, and it worked very well.

I've added more hotkeys to my theme, an then atvo gives me some message like the hoteky would be already assigned...?
Is there a way to find out which hotkeys are causing the problems?

Unhandled exception
NHotkey.HotkeyAlreadyRegisteredException: Diese Abkürzungstaste ist bereits registriert. (Exception from HRESULT: 0x80070581) ---> System.Runtime.InteropServices.COMException: Diese Abkürzungstaste ist bereits registriert. (Exception from HRESULT: 0x80070581)
--- End of inner exception stack trace ---
at NHotkey.Hotkey.Register(IntPtr hwnd, String name) in C:\projects\nhotkey\src\NHotkey\Hotkey.cs:line 53
at NHotkey.HotkeyManagerBase.AddOrReplace(String name, UInt32 virtualKey, HotkeyFlags flags, EventHandler`1 handler) in C:\projects\nhotkey\src\NHotkey\HotkeyManagerBase.cs:line 26
at ATVO.ViewModels.MainWindowViewModel.RegisterHotkeys(EditorTheme theme) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO\ViewModels\MainWindowViewModel.cs:line 140
at ATVO.ViewModels.MainWindowViewModel.OnThemeChanged(ITheme obj) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO\ViewModels\MainWindowViewModel.cs:line 113
at Prism.Events.EventSubscription`1.<>c__DisplayClass11_0.<GetExecutionStrategy>b__0(Object[] arguments) in d:\a\1\s\Source\Prism\Events\EventSubscription.cs:line 173
at Prism.Events.EventBase.InternalPublish(Object[] arguments) in d:\a\1\s\Source\Prism\Events\EventBase.cs:line 60
at ATVO.Theme.ThemeModule.OnLoadTheme(String filepath) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.Theme\ThemeModule.cs:line 70
at Prism.Events.EventSubscription`1.<>c__DisplayClass11_0.<GetExecutionStrategy>b__0(Object[] arguments) in d:\a\1\s\Source\Prism\Events\EventSubscription.cs:line 173
at Prism.Events.EventBase.InternalPublish(Object[] arguments) in d:\a\1\s\Source\Prism\Events\EventBase.cs:line 60
at ATVO.ThemeLoader.ViewModels.LoadThemeWindowViewModel.Load(Window window) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.ThemeLoader\ViewModels\LoadThemeWindowViewModel.cs:line 83
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Posts: 785
You cannot register a hotkey that another application has already registered. I can try to see if we can report to you which hotkey is the issue, but until I add that I don't see an easy way to check it: apart from adding them one by one until it breaks.
Posts: 46
Ok, no stress Nick.
I'll add one by one 🙂
Posts: 785
I added the check for the next release, not sure when that will be though.