Release: 2wL T-800 beta 1.0 (Help → About)
On-screen keyboard for Windows — accessibility, gaming compatibility, dual clipboard, word prediction, and heavy theming
What is 2wL?
2wL is a free Windows on-screen keyboard: click keys into the foreground app, lock modifiers with right-click,
manage two clipboard slots (with session paste recall), optional split keyboard, word prediction, Ext (Latin Extended-A),
emoji bar, and seven Game modes for stubborn apps. Not a hack or anti-cheat tool — designed to complement the desktop.
Full detail ships in 2wLhelp.txt (refreshed from the EXE each launch).
⬇️ DOWNLOAD NOW
Download 2wL.exe
Download: get 2wL.exe (portable — no 2wL_Setup.exe). Put it anywhere and double-click. Settings stay in %APPDATA%\2wL\.
Note: If 2wL becomes squirrely, unresponsive, or crashes continually, close 2wL, delete the %APPDATA%\2wL folder, then start 2wL again.
⚠️ Important! Read Instructions Below
✅ Windows 10/11 Compatible
✅ Download and run 2wL.exe (portable)
✅ Small footprint (~1 MB app + small INI/learning files)
✅ Always free — no ads, no telemetry
2wL is always free. If it helps you, an optional tip is appreciated — never required.
✨ KEY FEATURES
🎨
25 built-in themes + custom
Named schemes (e.g. Matrix Green default, Futuristic Blue, Neon Purple). Save any look as a custom theme in 2wL.ini via Settings — survives Reset to Defaults.
🔧
Appearance & sound
Ghost opacity, optional gradient and Bling, hover highlight, load custom .ttf fonts. Tick sounds are synthesized (no WAV files) with volume and presets on the Senses tab; themes and layout live on Insight.
🎮
Game modes (1–7)
Seven options change how keys are synthesized (SendInput scan codes, low-level hook, PostMessage path, DirectInput8, hold-only / repeat tuning, longer initial repeat delay, plus optional timing obfuscation). Enable one at a time and test — see below.
⌨️
Keys, Fn row, NumPad, Ext
QWERTY with optional F1–F12 row and NumPad (NumLock-aware). Ext opens Latin Extended-A characters with paging. Lock modes: single-shot (red), persistent (purple), chord lock (blue, double right-click).
📋
Dual Copybox + recall
Title-bar slots for latest and previous plain-text clipboard; click to paste; clr / hld (HOLD).
Double right-click a box (empty or filled) to recall harvested pastes — cycle up to 3 priors per slot (same session).
🔮
Word prediction
Hybrid suggestions (~70% personal history + ~30% static “Google 10k” frequencies), optional custom dictionary.
Learning under %APPDATA%\2wL\ — no network. Right-click a suggestion to Promote / Demote / Delete.
🪟
Split keyboard
Settings → Split Keyboard (2) opens two independent windows that share keyboard state —
Copybox 1 on the left half, Copybox 2 on the right; title controls work per half.
↔️
Move, resize, elevate
Drag the title bar, resize from the grip. Settings → Above: Run as admin (elevated targets) and optional multi-instance.
System tray icon stays available while minimized.
🔒
Private by design
No telemetry; settings and learning data stay local. Help file 2wLhelp.txt is refreshed from the executable each launch.
📋 SYSTEM REQUIREMENTS
Minimum Requirements:
- Operating System: Windows 10/11 (64-bit)
- RAM: Negligible (a few MB)
- Disk Space: ~1 MB for the app plus small INI/learning files
- Graphics: DirectX-compatible graphics adapter
- Administrator: Optional — use Settings → Above tab → Run as admin when targeting elevated apps or games
- Screen: Any resolution (DPI-aware; Win11 used for themed window captions per help)
📥 HOW TO RUN (PORTABLE)
Quick start (3 steps):
- Download 2wL using the button above
- Save
2wL.exe anywhere (no installer)
- Double-click 2wL.exe — use Settings → Above → Run as admin only when you need to send keys to elevated windows
ℹ️ First-Time Setup:
- Data folder:
%APPDATA%\2wL\ (2wL.ini, learning data, optional trace.txt, 2wLhelp.txt, etc.)
- If 2wL becomes squirrely, unresponsive, or crashes continually: close 2wL, delete that folder, then start 2wL again
- Preferences save automatically;
2wLhelp.txt is refreshed from the EXE on each launch
- Custom fonts are recorded in
2wL.ini; tick sounds are built-in synthesis (no external sound files)
- Open Settings from the gear icon in the title bar (Insight, Senses, and Above tabs)
🎮 QUICK START GUIDE
Basic usage:
- Left-click a key — sends press+release to the foreground app
- Settings gear — opens Settings (Insight, Senses, Above)
- Title bar — drag to move; resize from the grip (right-click grip for keyboard-only move mode)
- Minimize (_) — hide 2wL; starting another instance brings it back
- Lock-release (title bar) — same as Settings → All Key Release: drops every locked and chord-locked key
Copybox, Ext, title bar:
- Copybox 1 / 2 — latest and previous plain-text clipboard; click to paste; clr clears; double right-click clr (when non-empty) for HOLD (hld)
- Right-click recall — double right-click a copybox (empty or filled) to cycle harvested pastes (up to 3 per slot, same session)
- Ext — Latin Extended-A panel; double right-click Ext for the larger panel; Pg X-Y pages through the range
C:\_ — open command prompt (%ComSpec%); right-click for elevate / PowerShell menu
- TM — Task Manager; smiley — emoji bar; gear right-click — cog menu (Device Manager, Regedit, etc.)
- Split Keyboard (2) — two windows; Copybox 1 left / Copybox 2 right
Lock modes (right-click):
- Single-shot (red) — stays down for the next character only
- Persistent (purple) — stays down until you right-click again
- Chord lock (blue) — double right-click a key; multiple keys can be chord-locked (e.g. Ctrl+Shift+T)
If Windows Sticky Keys is on, latching can feel odd — 2wL warns on startup and can help turn it off (see help).
🎮 GAME MODES (SETTINGS → SENSES)
Game 1 — Simple Mode
SendInput using scan codes (virtual key zero). Often matches what DirectInput-only games expect (e.g. Elite Dangerous–class titles).
Game 2 — Hook Mode
Low-level keyboard hook (WH_KEYBOARD_LL); injects through it. Installed when first enabled. For apps that read input that way.
Game 3 — Minimal
PostMessage-style path with repeat logic — for picky apps that want WM_KEYDOWN/UP in their queue.
Game 4 — DirectInput
Sends through a DirectInput8 keyboard device — for legacy DirectInput games that ignore SendInput.
Game 5 — Hold Only
Disables auto-repeat while held — one down stroke and matching up when released (pairs with Game 6 for timing).
Game 6 — 1200 ms initial delay
Longer initial repeat delay (1200 ms vs 500 ms) to reduce accidental double actions on touchy surfaces; combine with Game 5 as needed.
Game 7 — Timing obfuscation
Optional small random delay before SendInput key-up (off by default for lowest latency). Not encryption; does not defeat anti-cheat — see 2wLhelp.txt.
💡 Suggested order to try (from help):
Game 1 → Game 4 → Game 2 → Game 3 → Game 5 + 6 (try Game 7 only if you need that option). Use Run as admin on the Above tab when the target app is elevated — anti-cheat may still block injection by design.
🎨 CUSTOMIZATION OPTIONS
Appearance (Insight tab):
- 25 built-in themes + unlimited named custom themes (Save Theme As →
CustomTheme_* in 2wL.ini)
- Button Color / Button Dim — key face hue and brightness
- Key Color / Key Dim — label color and brightness
- Ghost slider — window opacity
- Optional vertical Gradient on keys; Bling (animated rainbow)
- Load custom
.ttf fonts; font size slider
Audio (Senses tab):
- Synthesized tick presets (Standard, High Pitch, Low Pitch, Click, Tick, Beep Short/Long, Soft, Sharp, Echo, Deep Thud, Low Pop, Bass Snap) — no WAV files
- Tick volume 0–100%; Test tick button
Layout & input:
- Function row (toggle Fn or always-on in Settings)
- NumPad column — NumLock-aware navigation labels when NumLock off
- Hover highlight toggle
- Ext — Latin Extended-A (
0x0100–0x017F) with paging
- Word Prediction — hybrid dictionary + learning; Load Dictionary for custom word list
📝 TRACING EXPLAINED
Optional Debugging Feature
2wL includes an optional trace logging system to help diagnose issues. Tracing is disabled by default. Turn it on under Settings → Senses or Above (same toggles on both tabs).
How Trace Files Work:
📍 File Location:
%APPDATA%\2wL\trace.txt
(Typically: C:\Users\YourName\AppData\Roaming\2wL\)
✅ Benefits:
- Prevents unlimited disk space growth
- Keeps recent debugging information available
- Maximum 2MB total storage used
- Old logs automatically managed
💡 When to Use Tracing:
Enable tracing only when troubleshooting issues or when asked by support. It records detailed system events to help diagnose problems.
⚙️ COMMAND LINE OPTIONS
Advanced startup switches:
--restart-wait — wait up to ~60s for the previous instance to release the single-instance mutex (used when relaunching for elevation or reset).
--reset-delete-files — after acquiring the mutex, deletes 2wL.ini, learning.dat, and trace.txt (factory reset).
Same flags as documented in 2wLhelp.txt (shipped next to settings and refreshed from the EXE each run).
📝 TROUBLESHOOTING
❓ Squirrely, unresponsive, or crashing continually?
→ Close 2wL, delete the %APPDATA%\2wL folder, then start 2wL again.
❓ Keys not reaching a game or app?
→ Try Game modes one at a time (see order above). If the foreground app is elevated, enable Run as admin on the Above tab. Anti-cheat may still block all synthetic input.
❓ Copybox shows nothing / cleared by mistake?
→ Confirm Enable Copybox / Copybox 2 in Settings. Slots update only for plain text. Double right-click the box to recall harvested pastes (cycle up to 3); see help → COPYBOX → RIGHT-CLICK RECALL.
❓ Sticky Keys warning?
→ Windows Sticky Keys can interfere with lock modes. 2wL warns on startup and can turn Sticky Keys off; or disable in Windows Settings → Accessibility → Keyboard.
❓ Settings not saving?
→ Check that %APPDATA%\2wL\ folder has write permissions.
❓ Keys repeating too fast/slow?
→ Toggle Game 5 (Hold Only) and/or Game 6 (1200 ms); avoid stacking Game modes — test one at a time.
❓ Help file looks wrong or old?
→ Close 2wL and relaunch — %APPDATA%\2wL\2wLhelp.txt is overwritten from the executable each launch.
🛡️ PRIVACY & SECURITY
🔒
100% Private • 0% Telemetry
Data Collection:
- No telemetry or analytics
- No internet connection required
- No data sent to servers
Local Storage Only:
- Settings:
%APPDATA%\2wL\2wL.ini
- Word prediction:
learning.dat, static_frequencies.txt; built-in corpus in the EXE; optional custom dictionary path in Settings
- Logs (optional):
%APPDATA%\2wL\trace.txt
- Custom fonts: paths under
[CustomFonts] in 2wL.ini — tick audio is synthesized, not stored as files
⚠️ About Antivirus False Positives
2wL Virtual Keyboard is 100% safe and clean. However, some antivirus programs may flag it as suspicious. This is a false positive and occurs because:
- The app uses low-level Windows API calls to simulate keyboard input (required for functionality)
- It's a relatively new application without widespread distribution yet
- Some security vendors use overly aggressive heuristics that flag legitimate keyboard utilities
📊 Antivirus heuristics
Low-level keyboard injection can trigger generic or behavioral alerts on some engines. Results vary by build, packer, and vendor database version — scan the exact binary you downloaded if unsure.
✅ What 2wL does not do
- No network use for core operation — word lists and sounds are local / synthesized
- No telemetry or analytics
- Local storage only under
%APPDATA%\2wL\
- Documented Windows APIs for input, hooks, and DirectInput where selected in Game modes
If your antivirus blocks the download:
Add an exception for 2wL.exe in your antivirus settings. The software is completely safe to use.
📜 VERSION HISTORY
T-800 beta 1.0 (current — Help → About)
- Help / download docs: if 2wL is squirrely, unresponsive, or crashes continually, close it, delete %APPDATA%\2wL, restart
- Portable distribution: single 2wL.exe (no 2wL_Setup). Optional first-run desktop menu / Defender exclusion. Data under %APPDATA%\2wL\
- Game modes 1–7 (SendInput scan codes, LL hook, PostMessage path, DirectInput8, hold-only / repeat tuning, 1200 ms initial delay, optional timing obfuscation)
- Word prediction: hybrid personal + static frequencies; Promote/Demote/Delete; optional custom dictionary
- Dual Copybox with HOLD + right-click paste recall (up to 3 harvested pastes per slot, session)
- Split Keyboard (2) — dual windows sharing keyboard state
- 25 built-in themes + Save Theme As; Bling / Gradient / Ghost; synthesized tick sounds
- Run as admin; multi-instance; tray icon; title CMD / gear context menus; Ext + emoji + TM
- Trace + optional debug (Senses / Above); help file refreshed from EXE each launch
💬 SUPPORT & FEEDBACK
Found a bug? Have a feature request?
Please include:
• 2wL version from Help → About (e.g. 2wL T-800 beta 1.0)
• Windows version
• Steps to reproduce issue
• Screenshot (if applicable)
2wL stays free. Prefer to tip? PayPal, Zelle, or Cash App — same links as above.
·
·
📄 CREDITS
Built with:
- Windows API
- GDI+ for rendering
- Modern C++
Thank you for using 2wL Virtual Keyboard! ⌨️