Bàn phím ảo (OSK) độc lập cho bộ gõ Lotus (fcitx5-lotus).
Dự án này tách biệt phần giao diện bàn phím (Qt/LayerShell) ra khỏi bộ gõ chính để dễ dàng quản lý và nâng cấp, đồng thời giữ nguyên khả năng tương thích hoàn hảo với phần xử lý phím (backend) bên trong fcitx5-lotus.
- Full Functional Keys: Hỗ trợ đầy đủ phím
Esc,Delete,Ctrl,Alt,Shift,Supervà các phím mũi tên. - One-shot Modifiers: Hỗ trợ đặc biệt cho màn hình cảm ứng - nhấn
CtrlhoặcAltđể kích hoạt trạng thái "chờ", sau đó nhấn phím tiếp theo để gửi tổ hợp phím (ví dụ:Ctrl+C,Alt+F4). - KDE Integration & Tray Icon: Cung cấp biểu tượng khay hệ thống giúp người dùng dễ dàng bật/tắt bàn phím, đặc biệt hữu ích trên môi trường KDE.
- D-Bus Activated: Tự động hiển thị khi backend yêu cầu (ví dụ: khi focus vào ô nhập liệu).
- Giao diện hiện đại: Hỗ trợ giao diện Sáng/Tối (Light/Dark mode) và điều chỉnh kích thước linh hoạt.
- Qt6: Core, Gui, Widgets, DBus.
- LayerShellQt: (Không bắt buộc) Khuyên dùng trên môi trường Plasma Wayland để có trải nghiệm overlay tốt nhất.
- Fcitx5-Lotus: Cần cài đặt bản backend có hỗ trợ OSK (nhánh
osk-support).
Lotus OSK hoạt động như một module mở rộng. Để sử dụng, hệ thống của bạn cần có fcitx5-lotus (phiên bản có hỗ trợ OSK).
git clone https://github.com/LotusInputMethod/fcitx5-lotus-osk.git
cd fcitx5-lotus-osk
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build -j$(nproc)
sudo cmake --install build- Khởi chạy: Bạn có thể tìm thấy "Lotus OSK" trong menu ứng dụng hoặc chạy lệnh
fcitx5-lotus-osktrong terminal. - Biểu tượng khay hệ thống: Sau khi chạy, một biểu tượng bàn phím sẽ hiện ở khay hệ thống.
- Click chuột trái: Để hiện/ẩn nhanh bàn phím.
- Click chuột phải: Để mở menu cài đặt nhanh hoặc thoát ứng dụng.
- Tự động hóa: Bộ gõ Lotus sẽ tự động điều khiển việc hiển thị bàn phím này khi bạn tương tác với các ô nhập liệu (nếu tính năng OSK được bật trong cấu hình Fcitx5).
Caution
Tính ổn định của Uinput: Khi sử dụng OSK, việc sử dụng các chế độ dựa trên uinput (như Smooth hoặc Slow) có thể gây ra hiện tượng gửi phím Backspace không chính xác hoặc mất phím do độ trễ IPC. Khuyên dùng các chế độ Surrounding Text hoặc Preedit để có trải nghiệm ổn định nhất khi dùng bàn phím ảo.
- Service:
app.lotus.Osk - Interface:
app.lotus.Osk.Controller1 - Object Path:
/app/lotus/Osk/Controller - Tín hiệu: Lotus Engine duy trì kết nối D-Bus liên tục (persistent connection) để điều khiển trạng thái
Show/Hidevới độ trễ cực thấp.
- Cơ chế: Sử dụng Unix Domain Socket (
SOCK_SEQPACKET) để gửiLotusKeyCommandtớilotus-server. - Đảm bảo ABI: Sử dụng mã nhận diện Magic Number (
0x4C545553) trong mỗi gói tin để ngăn chặn lỗi không khớp phiên bản giữa Engine và OSK. - Xác thực: Máy chủ (
lotus-server) chỉ chấp nhận kết nối từ các tiến trình được ủy quyền (fcitx5-lotusvàfcitx5-lotus-osk).
- Tệp cấu hình:
~/.config/fcitx5/lotus-osk.conf(IniFormat). - Tự động khởi động: Khi được bật, ứng dụng quản lý tệp
.desktoptại~/.config/autostart/fcitx5-lotus-osk.desktop.