Files
sloposk/src/engine/InputEngine.h
T
ericek111andClaude Opus 5.5 5277ab16ff Fix double-space period, shift double-tap; settings; letters from system keymap
- Double-space replaced the space via a Backspace keysym, which clients
  apply after the commit: use delete_surrounding_text with the commit
- Tests use a shared FakeEngine that applies ops to a simulated field
- Double-tap shift locks at a sentence start; typing between taps doesn't
- Organization name set: config lives in ~/.config/sloposk/
- Settings (auto-capitalization, double-space period) with a ⚙ panel
- Letter rows come from the compositor's XKB keymap; other letters of the
  layout become long-press alternates; globe switches the system layout
  over org.kde.keyboard
- One JSON template for non-letter layers; stretch keys even out rows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 20:28:39 +02:00

19 lines
606 B
C++

#pragma once
#include <QString>
#include <qnamespace.h>
// Turns what the keyboard produces into text operations.
// DirectEngine passes them straight through; prediction and swipe engines
// will sit here too (preedit, candidates, auto-correction).
class InputEngine
{
public:
virtual ~InputEngine() = default;
virtual void commitText(const QString &text) = 0;
// See TextBackend::replaceBeforeCursor.
virtual void replaceBeforeCursor(const QString &before, const QString &text) = 0;
virtual void sendKeysym(quint32 keysym, Qt::KeyboardModifiers modifiers = Qt::NoModifier) = 0;
};