<?xml version="1.0"?>
<!--
VKB EVO Standard 4.10 — Star Citizen HOSAS Profile
Standard grips · Pure in-game bindings

Assumptions:
- js1 = Right stick
- js2 = Left stick
If swapped, use console command: pp_resortdevices joystick 1 2

Button numbers are approximate for VKB Gladiator EVO Standard.
Verify in-game and adjust if needed.

Place this file in:
[Install]\StarCitizen\LIVE\USER\Client\0\Controls\Mappings\

Load with console: pp_rebindkeys layout_VKB_EVO_Standard_4.10_exported
-->
<ActionMaps>

  <!-- ========== AXES ========== -->
  <actionmap name="spaceship_movement">
    <!-- Right stick -->
    <action name="v_pitch">
      <rebind input="js1_y"/>
    </action>
    <action name="v_yaw">
      <rebind input="js1_x"/>
    </action>
    <action name="v_roll">
      <rebind input="js1_rotz"/>
    </action>
    <!-- Left stick -->
    <action name="v_strafe_lateral">
      <rebind input="js2_x"/>
    </action>
    <action name="v_strafe_longitudinal">
      <rebind input="js2_y"/>
    </action>
    <action name="v_strafe_vertical">
      <rebind input="js2_rotz"/>
    </action>
  </actionmap>

  <!-- ========== RIGHT STICK — AIMING & COMBAT ========== -->
  <actionmap name="spaceship_weapons">
    <action name="v_weapon_group1">
      <rebind input="js1_button1"/>
    </action>
    <action name="v_weapon_group2">
      <rebind input="js1_button2"/>
    </action>
  </actionmap>

  <actionmap name="spaceship_movement">
    <action name="v_afterburner">
      <rebind input="js1_button3"/>
    </action>
    <action name="v_brake">
      <rebind input="js1_button4"/>
    </action>
  </actionmap>

  <actionmap name="spaceship_missiles">
    <action name="v_weapon_launch_missile">
      <rebind input="js1_button5"/>
    </action>
    <action name="v_weapon_cycle_missile_fwd">
      <rebind input="js1_hat3_left"/>
    </action>
    <action name="v_weapon_increase_max_missiles">
      <rebind input="js1_hat3_right"/>
    </action>
  </actionmap>

  <actionmap name="seat_general">
    <action name="v_toggle_missile_mode">
      <rebind input="js1_button6"/>
    </action>
  </actionmap>

  <!-- A3 center hat — targeting -->
  <actionmap name="spaceship_targeting">
    <action name="v_target_cycle_hostile">
      <rebind input="js1_hat1_up"/>
    </action>
    <action name="v_target_cycle_friendly">
      <rebind input="js1_hat1_down"/>
    </action>
    <action name="v_target_cycle_in_view">
      <rebind input="js1_hat1_left"/>
    </action>
    <action name="v_target_lock_unlock">
      <rebind input="js1_hat1_right"/>
    </action>
    <action name="v_target_under_reticle">
      <rebind input="js1_hat1_push"/>
    </action>
  </actionmap>

  <!-- A4 hat — power -->
  <actionmap name="spaceship_power">
    <action name="v_power_weapons">
      <rebind input="js1_hat2_up"/>
    </action>
    <action name="v_power_shields">
      <rebind input="js1_hat2_down"/>
    </action>
    <action name="v_power_engines">
      <rebind input="js1_hat2_left"/>
    </action>
    <action name="v_power_reset">
      <rebind input="js1_hat2_right"/>
    </action>
    <action name="v_gimbal_assist_cycle">
      <rebind input="js1_hat2_push"/>
    </action>
  </actionmap>

  <!-- Hat 3 — countermeasures -->
  <actionmap name="spaceship_countermeasures">
    <action name="v_deploy_decoy">
      <rebind input="js1_hat3_up"/>
    </action>
    <action name="v_deploy_noise">
      <rebind input="js1_hat3_down"/>
    </action>
    <action name="v_voip_ptt">
      <rebind input="js1_hat3_push"/>
    </action>
  </actionmap>

  <!-- ========== LEFT STICK — MOVEMENT & SYSTEMS ========== -->
  <actionmap name="spaceship_movement">
    <action name="v_toggle_coupled">
      <rebind input="js2_button1"/>
    </action>
    <action name="v_flight_ready">
      <rebind input="js2_button2"/>
    </action>
    <action name="v_brake">
      <rebind input="js2_button4"/>
    </action>
  </actionmap>

  <actionmap name="seat_general">
    <action name="v_flight_ready">
      <rebind input="js2_button3"/>
    </action>
    <action name="v_exit_seat">
      <rebind input="js2_button6"/>
    </action>
    <action name="v_activate_scan">
      <rebind input="js2_button5"/>
    </action>
  </actionmap>

  <!-- A3 hat — modes -->
  <actionmap name="spaceship_general">
    <action name="v_cycle_master_mode">
      <rebind input="js2_hat1_up"/>
    </action>
    <action name="v_engage_quantum">
      <rebind input="js2_hat1_down"/>
    </action>
    <action name="v_landing_gear">
      <rebind input="js2_hat1_left"/>
    </action>
    <action name="v_vtol_toggle">
      <rebind input="js2_hat1_right"/>
    </action>
    <action name="v_request_landing">
      <rebind input="js2_hat1_push"/>
    </action>
  </actionmap>

  <!-- A4 hat — systems -->
  <actionmap name="spaceship_systems">
    <action name="v_ship_lights">
      <rebind input="js2_hat2_up"/>
    </action>
    <action name="v_night_vision">
      <rebind input="js2_hat2_down"/>
    </action>
    <action name="v_lock_unlock_doors">
      <rebind input="js2_hat2_left"/>
    </action>
    <action name="v_self_destruct">
      <rebind input="js2_hat2_right"/>
    </action>
  </actionmap>

  <!-- Hat 3 — scanning / mining / salvage -->
  <actionmap name="spaceship_scanning">
    <action name="v_scanning_mode">
      <rebind input="js2_hat3_up"/>
    </action>
    <action name="v_radar_ping">
      <rebind input="js2_hat3_down"/>
    </action>
    <action name="v_increase_scan_angle">
      <rebind input="js2_hat3_push"/>
    </action>
  </actionmap>

  <actionmap name="spaceship_mining">
    <action name="v_toggle_mining_mode">
      <rebind input="js2_hat3_left"/>
    </action>
  </actionmap>

  <actionmap name="spaceship_salvage">
    <action name="v_toggle_salvage_mode">
      <rebind input="js2_hat3_right"/>
    </action>
  </actionmap>

  <!-- Base controls (approximate) -->
  <actionmap name="spaceship_movement">
    <action name="v_speed_limiter">
      <rebind input="js2_slider1"/>
    </action>
  </actionmap>

</ActionMaps>
