June 8, 2025
The Keebie Macro Pad: Your Ultimate Productivity Tool

The Keebie Macro Pad: Your Ultimate Productivity Tool

In the ever-evolving landscape of computing, customization is a hallmark of the Linux experience. One fascinating aspect of this customization is the ability to create personalized keyboard layouts and configurations. Enter Linux Keebie—a powerful tool designed to enhance your keyboard experience on Linux systems. In this article, we’ll delve into what Keebie is, how it works, and why it’s a must-try for every Linux enthusiast.

What is Keebie?

Keebie is an innovative keyboard configuration tool that allows users to easily remap keys, create macros, and manage multiple keyboard layouts. Its user-friendly interface and flexible features make it an invaluable asset for gamers, programmers, and anyone looking to improve their typing efficiency.

Note: This tool is designed to work with linux based os only.

Key Features of Linux Keebie

  • Custom Key Mapping: Keebie allows users to remap any key on their keyboard to suit their needs. Whether you want to swap the positions of keys, create shortcuts for common tasks, or simply make your keyboard feel more comfortable, Keebie has you covered.
  • Macro Support: For those who perform repetitive tasks, Keebie’s macro functionality is a game-changer. You can record sequences of keystrokes and assign them to a single key, drastically reducing the time it takes to complete routine tasks.
  • Multiple Layouts: If you frequently switch between different keyboard layouts (like QWERTY and Dvorak), Keebie makes it simple to manage these transitions. You can switch layouts with a single keystroke, making it ideal for multilingual users or those who use different layouts for specific tasks.
  • User-Friendly Interface: Keebie’s graphical interface is intuitive, making it accessible for users of all skill levels. You don’t need to be a command-line wizard to take full advantage of its capabilities.

Why You Should Try Keebie

Using Keebie can significantly enhance your productivity. For instance, programmers can create shortcuts for frequently used code snippets, while gamers can optimize their controls for improved gameplay. Moreover, custom keyboard layouts can alleviate typing strain and make extended work sessions more comfortable.

Keebie also fosters a sense of community. Users can exchange configurations, tips, and tricks, creating a collaborative environment that enriches the Linux experience.

Getting Started with Keebie as Virtual Macro pad

While Keebie has many use cases, this guide will focus on creating a virtual macro pad. For this project, you’ll need a spare keyboard that will serve as your macro pad.

First, we will install keebie and its dependencies .

Installing keebie

# To install the keebie you just have to clone its repository 

git clone https://github.com/daisyUniverse/Keebie.git

# Installing dependencies 

# on ubuntu/debian
sudo apt install python-evdev 
sudo apt install inotify-tools

# on arch linux 
sudo pacman -S python-evdev
sudo pacman -S inotify-tools

# using pip 
sudo pip insall evdev

# To complete the installation 
cd <keebe repo that you have cloned>
make install

Keyboard setup

After installing the keebie it is time to plug the keyboard and run the following command

keebie --new

Follow the onscreen instructions to setup your keyboard

Testing the keebie

After setting up your keyboard, launch Keebie by typing keebie in your terminal. Then, press the spacebar on the keyboard configured for Keebie.

keebie 

Creating Macros

There are various methods to create macros with Keebie, but the easiest approach is to modify the default.json file located at .config/keebie/layers/default.json with the following contents. Here’s how to do it:

{
   "vars": {
      "DEBUG": "echo 'i am default layer'",
      "SWAP": "setxkbmap -option caps:superetxkbmap -option caps:super",
      "SYSTEM_UPDATE": "xdotool key Super_L+v && sleep 0.5s && xdotool type 'paru -Suy' && xdotool key Return && sleep 0.2s && xdotool type 'animatton' && xdotool key Return",
      "PING": "xdotool key Super_L+v && sleep 0.3s && xdotool type 'ping google.com' && xdotool key Return",
      "LAYER_EMACS": "layer:emacs",
      "REDSHIFT_OFF": "redshift -x",
      "REDSHIFT_ON": "redshift -O 3600 &",
      "SET_RANDOM_WALLPAPER": "feh --no-fehbg --bg-fill -z /home/bt/Pictures/*",
      "CLOSE_TIO": "xdotool key Control_L+t && sleep 0.1 && xdotool key q",
      "SSHFS-UP": "xdotool key Super_L+y && sleep 0.1 && xdotool type 'sfs' && sleep 0.2 && xdotool key Return && sleep 0.2 && xdotool type 'garud' && sleep 1 && xdotool key Return && xdotool key Super_L+y",
      "SSHFS-DOWN": "xdotool key Super_L+y && sleep 0.1 && xdotool type 'ufs' && sleep 0.5 && xdotool key Return && xdotool key Super_L+y",
      "PI_TOGGLE": "/home/bt/.pscripts/tiny.py 1 t",
      "ENABLE_MD_PREVIEW_VCODE": "xdotool key Control_L+K+V",
      "PI_REBOOT": "xdotool key Super_L+i && sleep 0.5s && xdotool type 'ssh root@192.168.1.11' && xdotool key Return && sleep 0.2s && xdotool type 'reboot' && xdotool key Return && xdotool key Super_L+i"
    },

   "KEY_SPACE": "%DEBUG%",
   "KEY_ESC": "%PING%",
   "KEY_F1": "%SWAP%",
   "KEY_F2": "%ENABLE_MD_PREVIEW_VCODE%",
   "KEY_F3": "%PI_POWEROFF%",
   "KEY_F4": "%PI_TOGGLE%",
   "KEY_F5": "%SYSTEM_UPDATE%",
   "KEY_F6": "%AM%",
   "KEY_F7": "%DEBUG%",
   "KEY_F8": "%CLOSE_TIO%",
   "KEY_F10": "%LAYER_EMACS%",
   "KEY_PAUSE": "%DEBUG%",
   "KEY_SCROLLLOCK": "%SET_RANDOM_WALLPAPER%",
   "KEY_N": "%REDSHIFT_OFF%",
   "KEY_P": "%REDSHIFT_ON%",
   "KEY_LEFTALT": "%DEBUG%",
   "KEY_LEFTCTRL": "%DEBUG%",
   "leds": []
}

This JSON file consists of two main sections. The first section, vars, defines macro names and their corresponding actions, which will be executed when triggered. The second section focuses on key mappings. You can create your own macros in the vars section and assign them to your preferred keys in the key mappings.

After making your changes, relaunch Keebie and press the defined keys in the second section to test their functionality.

Creating Layers

Layers on a macro pad refer to different sets of key mappings or functions that can be activated to expand the pad’s capabilities beyond its physical keys. Each layer acts as a distinct configuration, changing the function of each key depending on which layer is currently active.

Uses of Layers:

  • Functionality Expansion: Layers allow a macro pad to have multiple functions for the same key. For example, pressing a key could trigger a macro on one layer and a different action on another.
  • Application-Specific Key Mappings: You can set up different layers for different software applications (like gaming, video editing, or programming), tailoring the key functions to suit each use case.
  • Efficiency: By using layers, you can streamline your workflow by having context-specific controls available without needing additional physical keys.
  • Customizability: Users can design their own layers to include shortcuts, commands, and macros that are most relevant to their tasks, enhancing productivity.

Layer commands

# To print existing Layers
keebie --layers

# To edit layers
keebie -e default.json

Adding new layer

To create a new layer in Keebie, simply copy defaultlayer.json and rename the copy to something else. You can then modify this new file to suit your needs. Make sure to place the new layer in the same directory as defaultlayer.json. The next step is to assign this new layer to a key in the default layer. For example, you could create a new layer called emacs.json.

 "KEY_F10": "layer:emacs",

Now when you press F10 key you will be switched to layer emacs. To go back to default layer assign a key in emacs layer which will point to default layer.

 "KEY_F10": "layer:default",

Other features

Keebie offers many additional features, such as key combinations, and key sequences, which I haven’t covered in this article. To learn more about these features, please refer to the README.md and install-config-use.md files included in the repository you cloned.

Conclusion

Linux Keebie is more than just a keyboard configuration tool; it’s a gateway to a more personalized and efficient computing experience. Whether you’re a seasoned Linux user or just starting, Keebie offers a wealth of features that can help you tailor your keyboard to your specific needs. So why wait? Dive into the world of custom keyboard configurations with Linux Keebie and unlock your full potential today!

2 thoughts on “The Keebie Macro Pad: Your Ultimate Productivity Tool

Leave a Reply

Your email address will not be published. Required fields are marked *