GamepadTrigger to detect ▢△
Posted: 07 Feb 2025, 23:01
Hello.
I'm trying to detect clicks on the right-side buttons of the PlayStation gamepad with GamepadTrigger. Here's my test code:
XAML:
Then I hook up all of those "TestButtonCommand<X>" commands in the viewmodel to change the ButtonPressed value.
I'm getting expected results for Button="Left", "Right", "Up", and "Down" (also X and O on "Accept" and "Cancel" not shown here), but no reaction at all on ▢ and △ clicks. What am I doing wrong here?
I'm trying to detect clicks on the right-side buttons of the PlayStation gamepad with GamepadTrigger. Here's my test code:
XAML:
Code: Select all
<TextBox Text="{Binding ButtonPressed, FallbackValue=NoData}"
HorizontalAlignment="Center" VerticalAlignment="Center"
Background="Black" Foreground="Yellow"
FontSize="45"
Focusable="True"
FocusVisualStyle="{StaticResource MyFocusVisualStyle}"
>
<i:Interaction.Triggers>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="Up" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandUp}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="Up" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="Down" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandDown}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="Down" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="Left" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandLeft}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="Left" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="Right" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRight}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="Right" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="Context1" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandCtx1}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="Context1" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="Context2" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandCtx2}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="Context2" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="Context3" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandCtx3}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="Context3" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="Context4" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandCtx4}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="Context4" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="Menu" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandMenu}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="Menu" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonDown" Button="View" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandView}"/>
</noesis:GamepadTrigger>
<noesis:GamepadTrigger FiredOn="ButtonUp" Button="View" ActiveOnFocus="False">
<i:InvokeCommandAction Command="{Binding TestButtonCommandRel}"/>
</noesis:GamepadTrigger>
</i:Interaction.Triggers>
</TextBox>I'm getting expected results for Button="Left", "Right", "Up", and "Down" (also X and O on "Accept" and "Cancel" not shown here), but no reaction at all on ▢ and △ clicks. What am I doing wrong here?