diff --git a/frc971/input/joystick_reader.cc b/frc971/input/joystick_reader.cc
index 8dfec5a..d751a43 100644
--- a/frc971/input/joystick_reader.cc
+++ b/frc971/input/joystick_reader.cc
@@ -5,6 +5,7 @@
 
 #include "aos/linux_code/init.h"
 #include "aos/prime/input/joystick_input.h"
+#include "aos/common/input/driver_station_data.h"
 #include "aos/common/logging/logging.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.q.h"
@@ -31,6 +32,8 @@
 const ButtonLocation kQuickTurn(1, 5);
 const ButtonLocation kClawClosed(3, 7);
 const ButtonLocation kClawOpen(3, 9);
+const ButtonLocation kFire(3, 11);
+const ButtonLocation kUnload(3, 12);
 
 class Reader : public ::aos::input::JoystickInput {
  public:
@@ -117,16 +120,17 @@
       double separation_angle = closed_ ? 0.0 : 0.5;
       double goal_angle = closed_ ? 0.0 : -0.2;
       if (!control_loops::claw_queue_group.goal.MakeWithBuilder()
-          .bottom_angle(goal_angle)
-          .separation_angle(separation_angle)
-          .intake(false).Send()) {
+               .bottom_angle(goal_angle)
+               .separation_angle(separation_angle)
+               .intake(false)
+               .Send()) {
         LOG(WARNING, "sending claw goal failed\n");
       }
       if (!control_loops::shooter_queue_group.goal.MakeWithBuilder()
-          .shot_power(0)
-          .shot_requested(false)
-          .unload_requested(true)
-          .Send()) {
+               .shot_power(0.25)
+               .shot_requested(data.IsPressed(kFire))
+               .unload_requested(data.IsPressed(kUnload))
+               .Send()) {
         LOG(WARNING, "sending shooter goal failed\n");
       }
     }
