GateKeeper Pro
1. Introduction
1.1 What is GateKeeper Pro?
GateKeeper Pro is a taxi guidance and moving map tool for Microsoft Flight Simulator 2020 and 2024. It helps you navigate your aircraft on the ground with turn-by-turn taxi directions, a live taxiway map, and full flight plan visualization.
Key capabilities:
- Live moving map centered on your aircraft with taxiway, gate, and runway overlays
- A* pathfinding that calculates the shortest taxi route from your position to any gate or runway
- Direction-aware routing that avoids U-turns and prefers the route most aligned with your current heading
- Flight plan integration — load a
.plnfile or import directly from SimBrief - Two-way voice communication — hear your taxi clearance spoken aloud and issue requests via push-to-talk
- Self-hosted database — the airport/taxiway database is stored on CanuckAir servers and updated on demand
Whether you fly airliners on realistic VATSIM routes or just want to stop getting lost on the taxiway at a big airport, GateKeeper Pro gives you the tools to move like a pro.
1.2 System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| Operating System | Windows 10 (64-bit) | Windows 11 (64-bit) |
| Processor | Intel i5 / AMD Ryzen 5 | Intel i7 / AMD Ryzen 7 |
| RAM | 4 GB | 8 GB or more |
| Disk Space | 500 MB | 1 GB |
| Simulator | MSFS 2020 or MSFS 2024 | — |
| .NET Runtime | Not required (self-contained) | |
| Microphone | Optional (for voice features) — USB headset recommended | |
1.3 What's New in V1.2.2
- Fixed: Database update no longer fails when the current database is locked. Downloads now use temporary files with atomic swap, and all SQLite handles are released before overwriting.
- New: Two-way voice communication — push-to-talk (Right Ctrl) recognition of taxi and pushback requests.
- New: Audio Out — the app speaks the taxi clearance using the calculated route with NATO phonetic taxiway names.
- New: "Repeat Taxi" button (📢) to re-speak the current clearance.
- New: Audio settings panel — callsign, Audio Out (auto/manual), Audio In (auto/PTT).
- Improved: Recognition accuracy — removed
DictationGrammarfallback, added realistic "ready for..." phrases, loose keyword matching.
2. Getting Started
2.1 Installation
- Download
GateKeeperPro_Setup_V1.2.2.exefrom the CanuckAir Simulations website. - Run the installer.
- Enter your license key when prompted. Keys must contain the letters GKP.
- Choose your install location (default is recommended).
- Click Install and wait for the process to complete.
- A desktop shortcut and Start Menu entry will be created.
GateKeeper Pro is self-contained — the .NET runtime is bundled, so no additional downloads are required to run the app.
2.2 First Launch
When you first launch GateKeeper Pro:
- The main window opens, showing the moving map area.
- The database is not yet installed — a message appears: "⚠️ Database not found. Click 'Update Data' to download."
- You must download the database before using the app.
2.3 Downloading the Database
GateKeeper Pro uses a self-hosted SQLite database that contains airport, taxiway, gate, and runway data for both MSFS 2020 and MSFS 2024.
To download the database:
- Click the 📥 Update Data button.
- A confirmation dialog appears — click Yes.
- Both databases (MSFS 2020 and MSFS 2024) will download. Watch the progress percentage on the button.
- When complete, a message confirms the download. The map reloads automatically.
Database location:
%APPDATA%\CanuckAir Hub\Data\
├── casdata_msfs.sqlite (MSFS 2020)
├── casdata_msfs24.sqlite (MSFS 2024)
├── version.txt
└── changelog.txt
2.4 Connecting to Microsoft Flight Simulator
- Start Microsoft Flight Simulator (2020 or 2024).
- Load into a flight — you must be spawned in the cockpit for SimConnect to connect.
- Launch GateKeeper Pro.
- The status bar will display "🟢 SIM: LIVE (2020)" or "🟢 SIM: LIVE (2024)" once connected.
If the sim is not detected, the status bar shows "❌ SIM: OFFLINE". Verify MSFS is running and in a flight session.
Automatic Sim Detection:
| Simulator | Detected As | Database Used |
|---|---|---|
| MSFS 2020 | KittyHawk | casdata_msfs.sqlite |
| MSFS 2024 | SunRise | casdata_msfs24.sqlite |
3. Main Window Overview
3.1 Layout
The main window is divided into five sections:
- Mode Buttons (top) — DEPARTURE / ARRIVAL toggle
- Navigation Panel — current airport, runway, gate, aircraft info
- Status Display — ground speed, heading, sim status, taxi path, distance
- Control Bar — buttons for loading plans, updating data, layer toggles
- Map — the moving map with taxiways, gates, runways, and route overlays
3.2 Navigation Panel
The navigation panel (white box near the top) displays:
| Field | Description |
|---|---|
| AIRPORT | ICAO code of the active airport |
| RUNWAY | Departure or arrival runway |
| GATE | Selected gate (visible in ARRIVAL mode only) |
| AIRCRAFT | Aircraft title as reported by the sim |
3.3 Control Bar
| Button | Function |
|---|---|
| 📂 LOAD PLN | Load a .pln flight plan file from your computer |
| ✈️ SIMBRIEF | Import a flight plan directly from SimBrief |
| 🔄 REFRESH | Recalculate the taxi route from your current position |
| 📥 Update Data | Download the latest airport/taxiway database |
| 📢 Repeat Taxi | Re-speak the current taxi clearance (voice feature) |
| 🔒 Follow | Toggle map auto-centering on the aircraft |
| ✈️ Airports | Toggle airport markers on the map |
| 📍 Waypoints | Toggle waypoint markers on the map |
| 🚪 Gates | Toggle gate markers on the map |
| 🛫 Runways | Toggle runway markers on the map |
| 📋 Procedures | Toggle SID/STAR procedure overlays |
| ⚙️ Options | Open the Options window |
3.4 Status Indicators
The dark status box shows:
- SIM status — "SIM: WAITING", "SIM: LIVE", or "SIM: OFFLINE"
- GS — Ground speed in knots (large green number)
- HDG — Magnetic heading in degrees
- TAXI — Current taxi route (e.g.,
F > D > Q > RWY 30L) - DIST — Distance to the target in nautical miles
4. Flight Planning
4.1 Loading a .pln File
GateKeeper Pro reads Microsoft Flight Simulator .pln files directly.
- Click 📂 LOAD PLN.
- Navigate to your
.plnfile. The default folder isDocuments. - Select the file and click Open.
- The airport, runway, and route info populate automatically.
- The map draws the flight plan as a cyan line from origin to destination.
What gets extracted from the .pln file:
- Origin airport (ICAO)
- Destination airport (ICAO)
- Departure runway
- Arrival runway
- SID (Standard Instrument Departure) name
- STAR (Standard Terminal Arrival Route) name
- Enroute waypoints
4.2 Importing from SimBrief
If you use SimBrief for flight planning, you can import your active flight plan directly.
First-time setup:
- Log in to SimBrief.
- Go to Account Settings.
- Copy your Pilot ID (a numeric string).
- In GateKeeper Pro, click ⚙️ Options.
- Paste your Pilot ID into the SimBrief Pilot ID field.
- Click Save.
To import a flight plan:
- Generate your flight plan on SimBrief as usual.
- In GateKeeper Pro, click ✈️ SIMBRIEF.
- The app fetches your active flight plan and populates everything automatically.
If you have not entered a Pilot ID, a dialog appears asking for it.
4.3 Understanding the Route Display
The map displays several route types:
| Color | Meaning |
|---|---|
| Cyan | Full flight plan route (origin → destination) |
| Lime green | Active taxi route (thick line) |
| Yellow | Aircraft heading indicator |
| Lime green (dashed) | SID procedure |
| Orange | STAR procedure |
5. Departure Operations
5.1 Selecting Departure Mode
Click the DEPARTURE button at the top of the window. The button becomes highlighted.
In DEPARTURE mode:
- The target is the departure runway
- The GATE dropdown is hidden (not needed for departure)
- The app calculates a route from your current position to the runway threshold
5.2 Reading the Taxi Route
Once you're on the ground at your departure airport:
- The status bar shows "🟢 ON GROUND - ROUTE AVAILABLE"
- The TAXI line shows a chain of taxiway names separated by
>:
TAXI: F > D > Q > RWY 30L
This means: Taxi via Foxtrot, then Delta, then Quebec, to Runway 30 Left.
The DIST line shows distance to the runway threshold in nautical miles.
5.3 Following the Route on the Map
The active taxi route is drawn as a thick lime-green line on the map. Follow it with your aircraft to reach the runway.
- Yellow line in front of your aircraft = heading indicator
- Blue aircraft icon = your position (rotates with heading)
- Blue dot = runway threshold marker
Use the 🔄 REFRESH button to recalculate the route from your current position at any time.
6. Arrival Operations
6.1 Selecting Arrival Mode
Click the ARRIVAL button at the top.
In ARRIVAL mode:
- The target is a gate at the destination airport
- The GATE dropdown appears so you can choose your gate
- The app calculates a route from your current position (on the runway) to the selected gate
6.2 Choosing Your Gate
After switching to ARRIVAL mode, the GATE dropdown populates with all gates at the destination airport that are connected to the taxiway network.
- Click the dropdown.
- Select your gate from the list (e.g., "GS 58", "A 12").
- The route recalculates automatically.
- The destination airport may not have connected parking data in the database
- Verify the destination ICAO is populated in the flight plan
- Try a major airport (CYYZ, KLAX, EGLL) to test
6.3 Taxiing to the Gate
Once on the ground at your destination:
- Verify the status shows "🟢 ON GROUND - ROUTE AVAILABLE"
- Check that a route is drawn from the runway to your selected gate
- Follow the green line to your gate
- The DIST display counts down as you approach
When you arrive at the gate, the aircraft will be inside the green gate circle marker.
7. Voice Communication
7.1 Overview
GateKeeper Pro V1.2.2 introduces two-way voice communication with your virtual ground controller:
- Audio Out — the app speaks the taxi clearance to you
- Audio In — you speak requests to the app via push-to-talk
Both features are optional and can be toggled in Options.
7.2 Audio Settings
Open ⚙️ Options to configure voice features.
| Setting | Options | Description |
|---|---|---|
| Callsign | Text field | Your callsign (e.g., Air Canada 66) |
| Audio Out Enabled | Checkbox | Master on/off for the app speaking |
| Audio Out Mode | Automatic / Manual | Auto = speaks when route changes; Manual = only via 📢 button |
| Audio In Enabled | Checkbox | Master on/off for the app listening |
| Audio In Mode | Automatic / Push-to-Talk | Auto = always listening; PTT = only while Right Ctrl held |
- Audio Out: Automatic
- Audio In: Push-to-Talk (Right Ctrl)
7.3 Setting Your Callsign
In the Options window, enter your callsign exactly as you would say it on the radio:
- ✅ Air Canada 66
- ✅ United 233
- ✅ Cessna November 4 5 6
- ❌ AC66 (abbreviations don't work well with speech recognition)
Click Save to persist the callsign.
7.4 Audio Out — Hearing the Clearance
When Audio Out is enabled, the app speaks the taxi clearance using Windows' built-in text-to-speech engine.
Example clearance (Departure):
"Air Canada 66, taxi to runway 30 Left via Foxtrot, Delta, Quebec."
Example clearance (Arrival):
"Air Canada 66, taxi to gate GS 58 via Quebec, Delta, Foxtrot."
The app converts single-letter taxiway names to NATO phonetic alphabet for clarity:
| Letter | Spoken As |
|---|---|
| A | Alpha |
| B | Bravo |
| C | Charlie |
| D | Delta |
| E | Echo |
| F | Foxtrot |
| ... | ... |
In Automatic mode: the clearance is spoken once, when the route is first calculated. If the route doesn't change, the app won't repeat it.
In Manual mode: you must press the 📢 Repeat Taxi button to hear the clearance.
7.5 Audio In — Push-to-Talk
When Audio In is enabled with PTT:
- Hold the Right Ctrl key on your keyboard.
- The app opens the microphone and starts listening.
- Speak your request clearly (see 7.6 for recommended phrases).
- Release Right Ctrl.
- The app processes your speech and responds accordingly.
If the app recognizes your phrase, it will:
- Recalculate the taxi route
- Speak the clearance (if Audio Out is enabled)
If recognition fails (confidence below threshold), nothing happens.
7.6 Recommended Phrases
Windows Speech Recognition is not perfect. Some phrases work better than others.
Best phrases (highest accuracy):
| Phrase | When to use | App responds |
|---|---|---|
| "ready for taxi" | Departure or Arrival | Speaks taxi clearance |
| "ready to go" | Any | Speaks taxi clearance |
| "ready for departure" | Departure | Speaks taxi clearance |
| "request pushback" | Departure | Speaks taxi clearance |
Example full phrase (recommended):
"Air Canada 66, ready for taxi"
Phrases to avoid (SAPI struggles):
- ❌ "request taxi" — often misheard as "requested tax and"
- ❌ "taxi to runway" — the word "taxi" is often missed
- ❌ Any phrase where "taxi" isn't preceded by a strong anchor word
7.7 Repeat Taxi Button
Press the 📢 Repeat Taxi button at any time to re-speak the current clearance.
This is useful when:
- You missed part of the clearance the first time
- The app's "don't repeat" logic prevented a second playback
- You want to confirm the route before moving
The Repeat Taxi button always re-speaks, regardless of the "don't repeat" flag.
7.8 Troubleshooting Recognition
Problem: The app doesn't respond when I speak.
Check these in order:
- Is Audio In enabled? — Options → Audio Settings
- Is PTT selected? — Options → Audio In → Push-to-Talk
- Did you hold Right Ctrl? — Check the Output window (if running from source)
- Is your default mic working? — Windows Settings → System → Sound → Input
- Is mic access allowed? — Windows Settings → Privacy → Microphone → "Let desktop apps access your microphone" = ON
- Is a flight plan loaded? — The app ignores requests if
FlightPlan.Origin == "----" - Are you on the ground? — The app ignores requests while airborne
Problem: The app hears me but doesn't understand.
Check the Output window for lines like:
AUDIO IN: 'Air Canada 66 ready for taxi' (confidence: 85%)
- Confidence > 70% — should work
- Confidence 40–70% — borderline; try again, speak slower
- Confidence < 40% — ignored; speak clearly and closer to mic
Problem: The app mishears specific words.
This is a limitation of Windows SAPI. Words like taxi, runway, and pushback are common victims. Try:
- Speaking slower
- Speaking louder (but not shouting)
- Using a USB headset instead of a laptop mic
- Using alternate phrases from section 7.6
8. Settings & Options
Access Options via the ⚙️ button.
8.1 SimBrief Pilot ID
Your SimBrief account identifier. Found in SimBrief → Account Settings. Required for the ✈️ SIMBRIEF button to work.
8.2 Aircraft Color
- Blue (default) — blue aircraft icon
- Red — red aircraft icon for higher contrast
8.3 Taxiway Color
- Gray (default) — subtle taxiway lines
- Yellow — brighter, easier to see in urban areas
8.4 Icon Size
Controls the size of gate markers and the aircraft icon:
- Small — minimal clutter
- Medium (default) — balanced
- Large — best for high-DPI displays or distant viewing
8.5 Map Type
- Hybrid (default) — satellite imagery + labels
- Road — standard street map style
8.6 Audio Settings
See Section 7.2 for full details.
9. Map Layers & Display
Each layer can be toggled on/off from the Control Bar.
9.1 Airports
Shows airports within the current view as blue circles with an airplane icon. Airport ICAO codes are shown in dark labels above the icon.
9.2 Waypoints
Shows waypoints within the current view:
- VORs — blue diamonds
- NDBs — magenta triangles
- Waypoints — pink/magenta triangles
9.3 Gates
Shows parking spots as green circles with the gate name centered inside (e.g., "A12", "GS58").
Gate markers scale with zoom level and respect the Icon Size setting.
9.4 Runways
Shows runway markers:
- Blue dot — the active runway threshold
- Green dot — departure runway
- Red dot — arrival runway
9.5 Procedures (SID/STAR)
When a flight plan includes SID or STAR:
- Lime green dashed line — SID (departure procedure)
- Orange dashed line — STAR (arrival procedure)
9.6 Follow Mode
The 🔒 Follow checkbox keeps the map centered on your aircraft.
- Checked — map auto-centers as you move
- Unchecked — map stays where you dragged it
Turn off Follow to inspect taxiways ahead or review a gate location.
10. Database Management
10.1 Understanding the Database
GateKeeper Pro uses a SQLite database containing:
- Airports (ICAO code, coordinates, elevation)
- Runways (with both end coordinates)
- Taxiways (segment graph for pathfinding)
- Parking spots (gates with positions and headings)
- Waypoints and airways
- SID/STAR/Approach procedures
Two databases are provided:
casdata_msfs.sqlite— for MSFS 2020casdata_msfs24.sqlite— for MSFS 2024
10.2 Checking for Updates
On startup, GateKeeper Pro automatically checks the CanuckAir server for a newer database version.
If an update is available:
- The 📥 Update Data button turns orange
- The button text becomes "📥 Update Data (New!)"
- A status message shows the available version
If up-to-date: status bar shows "✅ Database is up to date (vX.X)".
10.3 Updating Databases
- Click 📥 Update Data.
- A dialog appears showing current and new versions. Click Yes.
- Both databases download. Progress is shown on the button.
- The map reloads automatically when complete.
- Downloads are written to temporary files first
- Original databases are only replaced if download succeeds fully
- All SQLite handles are released before replacement
- If replacement fails, the app retries automatically
10.4 Database Location
%APPDATA%\CanuckAir Hub\Data\
├── casdata_msfs.sqlite
├── casdata_msfs24.sqlite
├── version.txt
└── changelog.txt
11. Troubleshooting
11.1 Sim Not Detected
Symptoms: Status shows "SIM: OFFLINE" or "SIM: WAITING" indefinitely.
Solutions:
- Verify MSFS is running and you are spawned in a cockpit (not at the main menu)
- Ensure GateKeeper Pro was launched after MSFS
- Restart both GateKeeper Pro and MSFS
- Verify SimConnect client is available (bundled with the app)
11.2 Flight Plan Won't Load
Symptoms: No route shown, or an error dialog appears.
Solutions:
- Verify the
.plnfile is a valid MSFS flight plan - Re-export the flight plan from SimBrief or MSFS World Map
- Verify origin and destination airports are present in the file
- Try a different flight plan to confirm the app works
11.3 No Taxi Route Available
Symptoms: TAXI: shows "Waiting for ground..." or "NO_TAXI_DATA".
Solutions:
- Verify you are on the ground in the sim
- Verify the airport is in the database (try a major airport)
- Press 🔄 REFRESH to recalculate
- Check that the target runway/gate exists in the database
11.4 Database Update Fails
Symptoms: Update Data button does not complete, or an error appears.
Solutions:
- Check your internet connection
- Close other applications that might be using the database file
- Restart GateKeeper Pro and try again
- Verify the CanuckAir server is reachable:
https://canuckairsimulations.com/CASHUB/database/version.txt
11.5 Voice Recognition Issues
See Section 7.8 for detailed troubleshooting.
11.6 No Audio Output
Symptoms: App doesn't speak, but recognition works.
Solutions:
- Verify Audio Out Enabled is checked in Options
- Verify your Windows default output device is correct
- Check system volume and app volume
- Verify a speech synthesizer voice is installed (Windows Settings → Time & Language → Speech → Voices)
12. Keyboard Shortcuts
| Shortcut | Function |
|---|---|
| Right Ctrl (hold) | Push-to-Talk — activate microphone |
Additional shortcuts may be added in future versions.
13. Appendices
13.1 SimConnect Requirements
GateKeeper Pro uses the Microsoft FlightSimulator.SimConnect managed wrapper. The DLL is bundled with the app — no separate SDK install is required.
SimConnect must be accessible to the app for it to receive telemetry (position, heading, ground speed, etc.).
13.2 Supported Sim Versions
| Simulator | Support Level |
|---|---|
| Microsoft Flight Simulator 2020 | Full |
| Microsoft Flight Simulator 2024 | Full |
13.3 Database Schema (Advanced)
For developers or advanced users, the database contains these key tables:
| Table | Purpose |
|---|---|
airport | Airport data (ICAO, coordinates) |
runway | Runway links |
runway_end | Runway thresholds |
taxi_path | Taxiway segments (for pathfinding) |
parking | Gate/parking positions |
waypoint | Waypoint coordinates |
approach | SID/STAR/Approach procedures |
approach_leg | Procedure waypoint sequences |
13.4 Version History
| Version | Highlights |
|---|---|
| V1.0.11 | Original release |
| V1.0.12 | Bug fixes |
| V1.0.13 | Database path fixes, MSFS 2024 support |
| V1.0.14 | Refresh button fix, A* direction penalty |
| V1.1.0 | Major UI improvements, Options window |
| V1.1.1 | Map type toggle (Hybrid/Road) |
| V1.1.3 | Gate markers |
| V1.1.4 | Runway markers, SID/STAR paths |
| V1.1.5 | DPI scaling, Icon Size option |
| V1.1.6 | Self-hosted database, online updates |
| V1.1.7 | Update check on startup |
| V1.1.8 | Zoom scaling for gates |
| V1.1.9 | Self-contained deployment |
| V1.2.0 | Standalone database path fix |
| V1.2.1 | Two-way voice (initial) |
| V1.2.2 | Database overwrite fix, refined voice recognition |
14. Quick Reference Card
Essential Buttons
| Button | Action |
|---|---|
| 📂 LOAD PLN | Load flight plan file |
| ✈️ SIMBRIEF | Import from SimBrief |
| 🔄 REFRESH | Recalculate taxi route |
| 📥 Update Data | Download latest database |
| 📢 Repeat Taxi | Re-speak clearance |
| ⚙️ Options | Open settings |
Voice Commands
| Hold | Say | Get |
|---|---|---|
| Right Ctrl | "Air Canada 66, ready for taxi" | Taxi clearance |
Departure Checklist
- Load flight plan (PLN or SimBrief)
- Click DEPARTURE
- Verify ON GROUND status
- Follow lime-green route line
- Press 📢 Repeat Taxi if you missed the clearance
Arrival Checklist
- Verify flight plan loaded
- Click ARRIVAL
- Select gate from dropdown
- Verify ON GROUND status
- Follow lime-green route line to the gate
Map Legend
| Color | Meaning |
|---|---|
| Cyan | Flight plan route |
| Lime green | Active taxi route |
| Yellow | Aircraft heading |
| Blue circle | Airport |
| Green circle | Gate |
| Blue dot | Runway threshold |
GateKeeper Pro V1.2.2
© CanuckAir Simulations. All rights reserved.