Tired of hitting Ctrl, Alt, Shift, Fn, Command in BC?

Being a keyboard warrior in the BC world is a challenge, working within the confines of a browser, the number of available keys is limited. So why not add some dedicated keys for Business Central? Check out the video for my little keyboard experiment 🙂

https://youtu.be/jgsaLECybEM

In this video, Erik explores a creative hardware solution to one of Business Central’s everyday frustrations: complex keyboard shortcuts. Living in a browser means BC can’t capture all keystrokes the way the old native client could, leading to finger-twisting combinations like Ctrl+Alt+Shift+F3 just to reset filters. Erik’s answer? A dedicated mini keyboard with programmable macro keys — and he also shows how AL developers can assign custom shortcut keys directly to actions in their extensions.

The Problem: Browser-Based Shortcuts Are Painful

When Business Central was a native Windows application, it had full access to the keyboard. Every key press went directly to the app, and simple function keys like F6 for lookup were all you needed. Now that BC runs in a browser, the browser itself consumes many key combinations, forcing Microsoft to use increasingly complex modifier sequences.

Consider some of the current shortcuts:

  • Ctrl+Alt+Shift+F3 — Reset all filters
  • Ctrl+Shift+F3 — Toggle filter pane
  • Ctrl+Alt+Down Arrow — Show details for lookup pages
  • Alt+Down Arrow — Open drop-down/lookup list
  • Ctrl+F12 — Toggle between slim and wide layout
  • Alt+Q — Open Tell Me (search)

As Erik puts it: “If the shortcut is longer than the mouse click, why do we have the shortcut?” The answer is simple — Microsoft ran out of keys.

The Hardware Solution: A Programmable Mini Keyboard

Erik’s solution is a small, 9-key programmable mechanical keyboard — available on Amazon for around $39 (with cheaper options available too). These mini keyboards come with companion software that lets you assign macros and key combinations to each key.

The idea is straightforward: dedicate each key on this mini keyboard to a specific Business Central function, giving you one-press access to shortcuts that would normally require three or four keys.

Setting Up Macros

The companion app for these keyboards lets you record macros by capturing key-down and key-up events. For example, to assign Ctrl+F12 (toggle slim/wide layout) to a single key, you would:

  1. Open the keyboard configuration app
  2. Create a new macro
  3. Record the key sequence — the app captures key-down for Ctrl, key-down for F12, key-up for F12, key-up for Ctrl
  4. Name the macro (e.g., “Wide”)
  5. Assign it to one of the nine keys
  6. Flash the configuration to the keyboard

Once flashed, the keyboard works independently — you don’t need to keep the configuration app running. The macros are stored on the keyboard itself.

Erik’s Key Assignments

During the demo, Erik configured several keys:

  • Filter toggle — One key to open/close the filter pane (replacing Ctrl+Shift+F3)
  • F5 Refresh — Quick data refresh without reloading the client
  • Lookup — Alt+Down Arrow to open drop-down lists (the spiritual successor to F6 in the classic client)
  • Alt+Q Search — One-tap access to Tell Me
  • Ctrl+F12 — Toggle between slim and wide layout

The F5 vs. Ctrl+F5 Problem

Erik highlights a scenario he encounters constantly on support calls: asking someone to press F5 to refresh the data on screen. What happens 90% of the time is they accidentally press Ctrl+F5 instead, which performs a full browser reload. This wipes out the entire page navigation stack — when you press Escape, instead of returning to the list page behind the card, you land back on the Role Center because the browsing history is lost.

Having a dedicated, unmistakable F5 key on a mini keyboard eliminates this confusion entirely. It’s a small thing, but as Erik says, “truly a lifesaver.”

The Software Solution: Custom Shortcut Keys in AL

Beyond the hardware approach, Erik’s project also includes an AL extension that demonstrates how developers can assign shortcut keys directly to custom actions. This is done using the ShortcutKey property on page actions.

Here’s the example extension that adds two actions with keyboard shortcuts to the Item Card:

namespace DefaultPublisher.ShortCutKeys;

using Microsoft.Inventory.Item;

pageextension 50100 ItemCardExt extends "Item Card"
{
    actions
    {
        addlast(processing)
        {
            action(Test)
            {
                Caption = 'Test';
                ApplicationArea = all;
                ShortcutKey = 'Ctrl+U';
                trigger OnAction()
                begin
                    message('hello!');
                end;
            }
            action(Test2)
            {
                Caption = 'Test 2';
                ApplicationArea = all;
                ShortcutKey = 'F9';
                trigger OnAction()
                begin
                    message('hello 2!');
                end;
            }
        }
    }
}

The key property here is ShortcutKey. You can assign combinations like 'Ctrl+U' or single function keys like 'F9' to trigger custom actions. This means if you have frequently used custom functionality in your extensions, you can wire them up to keyboard shortcuts that users can then either press directly or map to a programmable mini keyboard for one-touch access.

The supporting app.json shows this is built against Business Central application version 24.0 using runtime 13.0:

{
  "id": "98552b31-8947-4925-b3bc-e05d5b2b0829",
  "name": "ShortCutKeys",
  "publisher": "Default Publisher",
  "version": "1.0.0.0",
  "platform": "1.0.0.0",
  "application": "24.0.0.0",
  "idRanges": [
    {
      "from": 50100,
      "to": 50149
    }
  ],
  "runtime": "13.0",
  "features": [
    "NoImplicitWith"
  ]
}

Combining Both Approaches

The real power comes from combining both solutions. You can create AL actions with ShortcutKey properties that use simple key combinations, then map those combinations to single keys on your programmable keyboard. This gives you a dedicated, labeled hardware button for any custom Business Central functionality — whether it’s a built-in feature or something from your own extension.

Finishing Touches

Erik mentions that the next step is to grab a label maker and create proper labels for each key. Since these are mechanical key switches with removable keycaps, you can also order custom keycaps with printed labels from various online shops — a nice touch once you’ve settled on your final nine Business Central functions.

Summary

Business Central’s browser-based architecture forces users into complex, multi-modifier keyboard shortcuts that can be slower than using a mouse. Erik demonstrates two complementary approaches to solve this:

  • Hardware: A cheap programmable mini keyboard (~$39) that maps complex shortcuts to single key presses, with macros stored on the device itself
  • Software: Using the ShortcutKey property in AL page extensions to assign keyboard shortcuts to custom actions

Whether you’re a consultant who spends all day in BC, a power user tired of three-finger gymnastics, or a developer building extensions for your users, this is a practical, low-cost way to significantly improve the daily Business Central experience. What would your nine keys be?