Giter VIP home page Giter VIP logo

writeboard's Introduction

๐Ÿ‘‹ Welcome to Kai's Github Profile

Hi there! I'm Kai (@folfcoder), a full-time CompSci student and part-time folf from Indonesia. I'm passionate about full-stack development, Linux, electronics, virtual reality, and more. I love solving problems and creating solutions with technology and code.

Projects

Here are some of my most recent projects:

  • ๐Ÿฆˆ Sharkle - The Sharkle widget, as featured in Night in the Woods, now on KDE Plasma!
  • ๐Ÿ–Š๏ธ Writeboard - Handwriting input for Linux, built with Qt and Tesseract.

More on git.fcd.im.

Stack

Stuff I'm still learning

Connect with me

You can find me on my website, Twitter, and Instagram.

writeboard's People

Contributors

folfcoder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

writeboard's Issues

To install on Fedora

sudo dnf install make gcc tesseract qt6-qtdeclarative leptonica cmake @development-tools gcc-c++ qt6-qtbase qt6-qtbase-devel qt6-qtquick3d-devel qt6-qtquick3d
cmake -S . -B build
cd build && make

#run
#./writeboard &

Build issue on Ubuntu 22.04

Error message with the initial build --> Could NOT find XKB (missing: XKB_LIBRARY XKB_INCLUDE_DIR) (Required is at least version "0.5.0")

Googled and have been unable to determine which package I might be missing or config change I need to make.

Furthermore, upon building (with the above error), I am getting a Qt6 error on launch but have QtQuick installed:

Warning: Ignoring WAYLAND_DISPLAY on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
QQmlApplicationEngine failed to load component
qrc:/Writeboard/Main.qml:3:1: module "QtQuick.Controls" is not installed
qrc:/Writeboard/Main.qml:2:1: module "QtQuick.Window" is not installed
qrc:/Writeboard/Main.qml:1:1: module "QtQuick" is not installed
qrc:/Writeboard/Main.qml:3:1: module "QtQuick.Controls" is not installed
qrc:/Writeboard/Main.qml:2:1: module "QtQuick.Window" is not installed
qrc:/Writeboard/Main.qml:1:1: module "QtQuick" is not installed
qrc:/Writeboard/Main.qml:3:1: module "QtQuick.Controls" is not installed
qrc:/Writeboard/Main.qml:2:1: module "QtQuick.Window" is not installed
qrc:/Writeboard/Main.qml:1:1: module "QtQuick" is not installed

System output of apt:

apt list --installed | grep qtquick-controls
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

qml-module-qtquick-controls2/jammy,now 5.15.3+dfsg-1 amd64 [installed]
qml-module-qtquick-controls/jammy,now 5.15.3-1 amd64 [installed]

How can I move the window?

When I run the software I am not sure I'm seeing all of the icon (X top left)

image

also I cannot move the window

Nothing happens when writing

the window displays correctly but when writing the writing just stays there. I don't get any recognised text and the buttons (apart from the close window button) apparently do nothing.

i am running the program from the build folder after building as instructed in the README with this and this adjustment made on Ubuntu 23.10.

The terminal output is completely empty.

Suggested Features List

First off, great work on this so far. I have tested both the python and C++/QML versions and very much look forward to seeing this project progress. Stylus-based input methods under linux have been lagging behind for...decades.

I noticed that the latest version is missing many features that are already present in the older python version. If there are specific tasks needing to be addressed to bring up the new version, I am happy to help in whatever way I can.

Below are a list of suggestions I think would really enhance usability. I have mostly been testing the python version as the C++ version doesn't seem to go beyond setting up the UI. I should also note that I am using a wacom device with an e-ink screen, so that heavily biases my experience.

Thank you for your work on this so far, it's a fantastic start to filling what has been a very stubborn gap in linux software.

High priority:

  • Speed/latency/lag: in the python version, stylus input became laggy before grinding to a halt as the recognition process began. Some kind of delay between last touch point and starting up tesseract may help. Also, consider using "PROXIMITY_OUT" events instead of last touch point here to be more in sync with the user. In addition, stylus input is a bit sluggish from the very start--some work in the last year or two on xournal++ has shown how latencies can be brought quite far down, and I am confident the same can be done in this QT-based framework.
  • Wayland: python version uses pynput, which does not work on wayland. I tried to have the script use "wtype" as a subprocess, but this caused new problems--maintaining keyboard focus didn't work so well on sway, making the app unusable. Making use of wlr_input_method would be really nice here as it would open doors for use on many other wlroots compositors.
  • Configuration: should be possible at least through command line flags; better yet via a dedicated config file. The grey color scheme doesn't work so well on e-ink, and things like font family + size would be nice to change without recompiling.

Would be nice:

  • Input method editor integration as a first-class feature
  • Customizable recognition engines and methods --> e.g.: use stroke vector data instead of bitmaps; user configurable models; active feedback / refinement of models through use
  • Selection of phrases, words and individual characters with dropdown menu options for alternates.

Cannot find font error on runtime

When I run the program I see an error:

$ ./writeboard
qrc:/Writeboard/Main.qml:14:5: QML FontLoader: Cannot load font: "qrc:/Writeboard/fonts/icons.woff2"

I searched cyberspace and found this tip:

As for using qrc: did you create a proper Qt resource to make use of it ?

I'm not familiar with QT, so sorry I'm not much help

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.