Skip to content

Commit 15c3f01

Browse files
authored
Revise README for version 1.0.0 release
Updated README to reflect version 1.0.0 release status and improved clarity in feature descriptions.
1 parent fb0108b commit 15c3f01

File tree

1 file changed

+34
-39
lines changed

1 file changed

+34
-39
lines changed

README.md

Lines changed: 34 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,77 +3,72 @@
33
Split Loaf - Keyboard Rerouter
44
</h1>
55

6-
**Status:** Somehow working?
6+
**Status:** Version 1.0.0 – Fully Released 🎉
77

88
[![Windows Build Status](https://github.com/AustinATTS/split_loaf/actions/workflows/build.yml/badge.svg)](https://github.com/AustinATTS/split_loaf/actions/workflows/build.yml) [![Linux Build Status](https://github.com/AustinATTS/split_loaf/actions/workflows/build_linux.yml/badge.svg)](https://github.com/AustinATTS/split_loaf/actions/workflows/build_linux.yml)
99

1010
Overview
1111
--------
1212

13-
Split Loaf is a Windows utility designed to reroute keyboard input to a specific target window. Once a target window is chosen, the keyboard can be “locked” to that window, so that all typed keys are sent directly to it regardless of which window is currently focused. This is useful for scenarios where you want input to always go to a particular application without manually switching focus.
14-
For example if you'd like to keep browsing through Google while still typing in a text editor without the need to move your mouse around.
13+
Split Loaf is a Windows utility designed to reroute keyboard input to a specific target window. Once a target window is chosen, the keyboard can be **“locked”** to that window, so all typed keys are sent directly to it regardless of which window is currently focused. This is perfect for scenarios where you want input to always go to a particular application without manually switching focus—for example, browsing the web while typing into a text editor without moving your mouse.
14+
15+
Version 1.0.0 marks the first full Windows release, with a stable executable, system tray integration, and persistent keybind and startup settings via the Windows Registry.
1516

1617
Features
1718
--------
1819

19-
* **Select Target Window**: Press **F8** to pick a window under your cursor as the target.
20-
21-
* **Lock Keyboard**: Press **F6** to lock all keyboard input to the selected window.
22-
23-
* **Unlock Keyboard**: Press **F7** to release the lock and restore normal keyboard behaviour.
24-
25-
* **Direct Input Injection**: Keys are sent directly to the target window automatically.
26-
20+
* **Select Target Window**: Press **F8** to pick a window under your cursor as the target.
21+
* **Lock Keyboard**: Press **F6** to lock all keyboard input to the selected window.
22+
* **Unlock Keyboard**: Press **F7** to release the lock and restore normal keyboard behaviour.
23+
* **Direct Input Injection**: Keys are sent directly to the target window automatically.
24+
* **Custom Keybinds**: Reassign the default function keys to any keys you like via the settings.
25+
* **System Tray Integration**: Live tooltips show your current target and lock state.
26+
* **Persistent Settings**: Run on startup and keybind configurations are stored in the Windows Registry, surviving restarts and updates.
2727

2828
Current Development Status
2929
--------------------------
3030

31-
Split Loaf is still under active development. The current version works but has a few known limitations:
32-
33-
* Non-standard input (like Unicode or multi-character inputs) may not be fully supported.
34-
35-
* Currently limited to Windows; cross-platform support is not implemented.
36-
37-
* Some applications may behave unexpectedly due to how they handle low-level keyboard messages.
31+
Split Loaf 1.0.0 is now a stable release for Windows. Some limitations still exist:
3832

33+
* Non-standard input (like Unicode or multi-character sequences) may not be fully supported.
34+
* Currently Windows-only; cross-platform support is still in development.
35+
* Some applications may behave unexpectedly depending on how they handle low-level keyboard messages.
3936

4037
How It Works
4138
------------
4239

43-
1. Press **F8** to select a target window.
44-
45-
2. Press **F6** to lock the keyboard to that window.
40+
1. Press **F8** to select a target window.
41+
2. Press **F6** to lock the keyboard to that window.
42+
3. All typed keys are sent directly to the target window.
43+
4. Press **F7** to unlock the keyboard and return to normal input behaviour.
4644

47-
3. All typed keys are sent directly to the target window.
48-
49-
4. Press **F7** to unlock the keyboard and return to normal input behaviour.
45+
Internally, Split Loaf uses a **low-level keyboard hook** and sends messages directly to the target window. Modifier keys are preserved while locked.
5046

47+
Linux Versions
48+
--------------
5149

52-
Internally, the program uses a **low-level keyboard hook** and sends messages directly to the target window. It ignores key up so modifier keys can still be used.
50+
Split Loaf currently relies on Windows APIs, so Linux support requires a different method for keyboard input and window detection. Early testing on Wayland (Hyprland with Arch) shows partial functionality, but challenges exist with active window detection and input security protocols. Further exploration is ongoing.
5351

5452
Future Improvements
5553
-------------------
5654

57-
* Unicode and symbol input handling.
58-
59-
* Optional visual indicator for lock state.
60-
61-
Linux Versions
62-
-------------
55+
* Full Unicode and symbol input handling.
56+
* Optional visual indicator for lock state.
57+
* Cross-platform support for Linux and other OSes.
58+
* Windows notifications for lock/unlock events.
6359

64-
Currently, the version of Split Loaf relies on Windows API for handling the keyboard redirection and so a new method will be needed for accessing keyboard input on linux or other devices to be able to handle them as well as for finding the window ID of what is being used. A possible issue could be in environments like hyprland which bases the active window solely on where the mouse is, instead of having a separate active window and so might be hard to do, but I'll give it a go because why not.
65-
66-
Different linux distros might handle this differently as well, currently using wayland for arch so that will be what I develop for first.
67-
68-
The test file given for linux has shown to somewhat work when used on hyprland (wayland) with arch however doesn't with crosinti penguin so they might handle inputs in different ways. It does this based on a given command to output space where if you are quick enough to move to a different window, it will send the space to that window and so it will need to be modified such that it can also switch to the target window automatically as well as give the output based on what the user tpes in.
60+
Installation
61+
------------
6962

70-
Wayland has some weird security protocols in the way it handles windows so it may be difficult to work, a scripting languages that can execute terminal xommands might be better suited so I'll need to look into this and see if it could be a suitable suggestion.
63+
1. Download the latest [Windows executable](https://github.com/AustinATTS/split_loaf/releases/latest).
64+
2. Move it to your preferred location.
65+
3. Run it.
66+
4. (Optional) Enable **Run on Startup** to have Split Loaf launch automatically with Windows.
7167

7268
Contact
7369
-------
7470

7571
For questions, bug reports, or feature suggestions:
7672

77-
**Austin Welsh-Graham**
78-
73+
**Austin Welsh-Graham**
7974

0 commit comments

Comments
 (0)