Librem5 squeekboard

Nice to meet you, I’m Hiroaki using Librem 5 in Japan.
I’d like to install “squeekboard”, but the command “$ meson _build /” gives the following error and I’m having trouble dealing with it. Please help me.

Found CMake: /usr/bin/cmake (3.18.4)
Run-time dependency libfeedback-0.0 found: NO (tried pkgconfig and cmake)

src / meson.build: 38: 0: ERROR: Dependency “libfeedback-0.0” not found, tried pkgconfig and cmake

If you look at the log

CMake binary for MachineChoice.HOST is not cached
None of’CMAKE’ are defined in the environment, not changing global flags.
CMake binary missing from cross or native file, or env var undefined.
Trying a default CMake fallback at cmake
Found CMake: /usr/bin/cmake (3.18.4)
None of’CMAKE_PREFIX_PATH’ are defined in the environment, not changing global flags.

The above contents are described. Is this “CMakeLists.txt” “Makefile”? ?? I don’t know what description should be written in which file, so I would appreciate it if you could provide a reference file.
I would be very happy if you could help me. I’m waiting your reply.

Hi,

the first message is most important:

you must have libfeedback development information installed. What OS are you using? It’s typically in a package called similar to “libfeedback-devel”.

Errors about cmake are not typically relevant, libfeedback should be detected using pkgconfig rather than cmake.

From Google translation.
Thank you for your advice before this.
After that, I made various trials and errors, and finally proceeded without any error, such as “ninja”, “ninja test”, and “ninja install”.
And I was wondering if I could use squeekboard after the installation was completed,
Putting us.yaml in terminal in squeekboard / keyboards / doesn’t change anything.
My input environment is English (US) only, so it should change, but why is there no change?
I would be grateful if you could give me some advice!

The directory squeekboard/keyboards is used for builtin layouts, but the layout must be explicitly added to resources.rs. See https://world.pages.gitlab.gnome.org/Phosh/squeekboard/tutorial.html#edit-your-keyboard-and-get-it-merged

If you just want to modify a layout, you don’t need to recompile Squeekboard, see https://world.pages.gitlab.gnome.org/Phosh/squeekboard/tutorial.html#testing-the-layout

2 Likes

hello!
Change src / resources.rs to the following description,
I put us.yaml and us_wide.yaml of terminal in squeekboard / keyboards.
However, there is no change, so I tried running the software in / home / purism / squeekboard / _build / src / squeekboard, but nothing changed. Is there anything else I have to do?

static KEYBOARDS: & [(&'static str, &'static str)] = & [
// layouts: us must be left as first, as it is the,
// fallback layout.
(“us”, include_str! ("…/ keyboards / us.yaml")),
(“us_wide”, include_str! ("…/ keyboards / us_wide.yaml")),

“us”, include_str! ("…/ keyboards / us.yaml"))

This is wrong, there’s an extra dot ... should be .., and there are spaces. There’s no need for spaces.

When you run squeekboard, it prints messages to the terminal. They should tell you what is going on.

static KEYBOARDS: &[(&'static str, &'static str)] = &[
// layouts: us must be left as first, as it is the,
// fallback layout.
("us", include_str!("../keyboards/us.yaml")),
("us_wide", include_str!("../keyboards/us_wide.yaml")),

Sorry to keep bothering you. The way I posted WORDPRESS was bad and the code was strange. The above code.
After modifying the above code
/home/purism/squeekboard/_build/src/squeekboard
I’m running this (squeekboard). There is no particular error.
Is this because you have “fcitx5” and “mozc” installed? “Fcitx5” “mozc” It is necessary to build an environment for Japanese conversion.
I’m sorry many times.
I would be grateful if you could give me some advice.

Hi,
fcitx and mozc will not work in any way with Squeekboard at the moment.

hello!
I am looking forward to the day when it works with mozc. Please do your best in development. I am supporting from Japan.

Does Squeekboard start with the uim below?

sudo apt-get install uim uim-anthy

Squeekboard is completely oblivious to that. If you install it, nothing will change from the usual.

thanks for your reply!!

I installed it, but it doesn’t work because of the following error. How do I get it working?

** (squeekboard:4306): WARNING **: 03:30:29.066: DBus unavailable, unclear how to continue. Is Squeekboard already running?

What is your operating system?

EDIT: oh, you wrote you’re using the Librem 5. Then Squeekboard must be running already. Can you post the output of:

ps ax | grep squeekboard

ps ax | grep squeekboard
4213 tty7 Sl+ 0:00 /usr/bin/squeekboard
5756 pts/0 S+ 0:00 grep squeekboard

This is it. How do you think?

4213 tty7 Sl+ 0:01 /usr/bin/squeekboard
6403 pts/1 S+ 0:00 grep squeekboard

Yes, you have Squeekboard running already. You can’t start another instance of Squeekboard because the OS doesn’t know how to handle 2 of them.

Sadly, there is no easy way to replace a running Squeekboard - all my attempts are stuck on review without a way forward: https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/517#note_1339908

If you feel confident in your Linux skills, you can remove Squeekboard from the phosh session and run it manually, but then you need to use an external keyboard to start it. I’ll let you figure it out.

If you don’t feel confident in your Linux skills, do you mind describing what you want to do? If all you want is to try a new layout, you can do it without running a new instance: https://world.pages.gitlab.gnome.org/Phosh/squeekboard/tutorial.html

EDIT: actually, I wrote it up once here: https://source.puri.sm/Librem5/debs/squeekboard/-/blob/pureos/byzantium/debian/hacking.md

CAUTION: this WILL make your OS unuseable without an external keyboard

Thank you. I was able to build the best Japanese environment by combining uim, uim-anthy and Squeekboard. Please keep sending out wonderful products to the world. Thank you so much for all the advice!

1 Like

Would you like to share your changes with the world? I’m curious what you have now, and if you allow, maybe we could add it to PureOS for everyone to use.

1 Like