Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Linux] Hỗ trợ Openkey cho Linux #231

Open
kienmatu opened this issue Dec 23, 2022 · 17 comments
Open

[Linux] Hỗ trợ Openkey cho Linux #231

kienmatu opened this issue Dec 23, 2022 · 17 comments

Comments

@kienmatu
Copy link

kienmatu commented Dec 23, 2022

Chào tác giả của mã nguồn,
Rất thích và respect tác giả, khi bộ gõ Openkey này hoạt động theo cơ chế backspace, tuy nhiên rất tiếc lại không hỗ trợ linux.

Không biết tiến độ bản cho Linux tới đâu rồi? Mình có xem qua video clip trên youtube, tuy nhiên vào mã nguồn thì thư mục Linux đang trống không.
Mình muốn contribute cho phần Linux, nhưng tiếc là chuyên môn của mình không ở phần này nên không biết bắt đầu từ đâu.

Hi vọng sớm được phản hồi.

@tuyenvm
Copy link
Owner

tuyenvm commented Jan 18, 2023

Hiện tại OpenKey nó chỉ chạy được trên Ubuntu 18, nhưng cũng rất nguy hiểm hay kẹt luôn cả bàn phím.
Mình chưa có thời gian để tìm hiểu nhiều hơn về lập trình Linux, khi mình sắp xếp được công viêc mình sẽ tiếp tục dự án.
Cảm ơn bạn đã quan tâm tới OpenKey!

@no-vici
Copy link

no-vici commented Mar 2, 2023

@kienmatu : Bạn nghía qua cái engine mới này được viết bằng Rust coi có tìm được gì không nhé, mình thấy đây là một engine khá ổn định trên Linux. Phần IME vẫn còn làm những người mong ước có một bộ gõ TV thật sự mượt mà trên Linux đau đầu lắm.

@kienmatu
Copy link
Author

kienmatu commented Mar 3, 2023

Cảm ơn @no-vici@tuyenvm , để mình nghiên cứu thử, sơ qua thì thằng X11 rất khó, có thể mình sẽ nghiên cứu luôn ở wayland, nhưng khổ nỗi wayland không support share screen nên cũng ngại!

@no-vici
Copy link

no-vici commented Mar 3, 2023

nhưng khổ nỗi wayland không support share screen nên cũng ngại!

Mình xài sway, share hà rầm có hề hấn gì đâu bạn. Mỗi app dùng một wayland protocol riêng nên cũng đỡ hao pin và ít phải sạc hơn máy chạy X11.

Bạn Huy có làm một cái IME based on vi-rs engine, bạn cũng có thể ngó qua coi sao nhé, vẫn còn sơ khai nên chưa có nhiều features.

@kienmatu
Copy link
Author

kienmatu commented Mar 9, 2023

cảm ơn @no-vici @tuyenvm , mình đã nghiên cứu khá nhiều và tìm được vài resource, nhưng bắt tay vào làm cũng gặp nhiều lỗi build khá nản.
Hoặc có khi mình thấy ibus-bamboo đã làm tốt rồi, cho nên nếu mình làm mà follow x11, wayland, gtk, qt... thì chỉ đi theo y chang cái cách cũ, và cũng không xử lý được vấn đề hiện có.

Relevant links:
How to make your application support Input method under Linux

@no-vici
Copy link

no-vici commented Mar 10, 2023

Hoặc có khi mình thấy ibus-bamboo đã làm tốt rồi, cho nên nếu mình làm mà follow x11, wayland, gtk, qt... thì chỉ đi theo y chang cái cách cũ, và cũng không xử lý được vấn đề hiện có.

Tuy rằng bamboo-ibus là bộ gõ TV xịn xò nhất trên Linux hiện nay nhưng cũng chưa giải quyết được những vấn đề mà các Vietnamese developers muốn solve. Mình cũng đang xài fcitx5-bamboo và cũng thấy bất tiện với pre-edit mechanism, quên nhấn Space rồi bấm cursor sang chỗ khác thì nguyên từ vừa gõ đi theo luôn. Mình có cảm giác rằng vi-rust engine đang cho chúng ta nhiều hy vọng, chứ nếu làm lại những gì sẵn có và cũng rơi vào đường cụt tương tự thì không nên.

Bạn đọc qua blog này coi có ý tưởng gì từ những thứ mà bạn Huy đã show ra không nhé.

Mình đang gặm cái link mà bạn share ở trên, khá thú vị. Cảm ơn bạn.

@zenfas
Copy link

zenfas commented Mar 10, 2023

Fcitx5 thì bạn thử build từ git mới nhất các gói fcitx5, fcitx5-qt và fcitx5-gtk xem sao, gần đây tác giả có fix 1 số lỗi nhưng chưa release version mới.
Mình nghĩ anh em có kinh nghiệm thì đóng góp PR cho ibus-unikey (cái này Mr Tuấn đang cần người bảo trì thay thế), ibus-bamboo, fcitx5-unikey, fxitx5-bamboo hoặc đóng góp update lib m17n để cách xử lý tiếng Việt nó đa dạng hơn https://www.nongnu.org/m17n/home.html (bộ gõ Telex và VNI của m17n được thành viên ddth đóng góp hơn chục năm về trước chưa có cập nhật)

@zenfas
Copy link

zenfas commented Mar 10, 2023

Có 1 điểm yếu trên Linux mình thấy là khả năng hỗ trợ từ đã commit trước đó kém

@no-vici
Copy link

no-vici commented Mar 10, 2023

Fcitx5 thì bạn thử build từ git mới nhất các gói fcitx5, fcitx5-qt và fcitx5-gtk xem sao, gần đây tác giả có fix 1 số lỗi nhưng chưa release version mới.

Fcitx5 support Wayland nên nó chạy phà phà, nhưng có build lại thì nó cũng không thay đổi behaviours của fcitx5-bamboo.

Điều mà mọi người mong muốn mình nghĩ là một cái input library và một IME độc lập và chạy mượt mà như OPenKey.

@zenfas
Copy link

zenfas commented Mar 10, 2023

Fcitx5 thì bạn thử build từ git mới nhất các gói fcitx5, fcitx5-qt và fcitx5-gtk xem sao, gần đây tác giả có fix 1 số lỗi nhưng chưa release version mới.

Fcitx5 support Wayland nên nó chạy phà phà, nhưng có build lại thì nó cũng không thay đổi behaviours của fcitx5-bamboo.

Điều mà mọi người mong muốn mình nghĩ là một cái input library và một IME độc lập và chạy mượt mà như OPenKey.

Xem fcitx/fcitx5#687 nhé

@zenfas
Copy link

zenfas commented Mar 10, 2023

Nếu update git mới nhất vẫn lỗi thì report cho họ nhé @no-vici

@no-vici
Copy link

no-vici commented Mar 10, 2023

Nếu update git mới nhất vẫn lỗi thì report cho họ nhé @no-vici

Có lẽ là bạn đã hiểu sai những gì mình muốn nói ở trên rồi á. fcitx5 của mình vẫn chạy bình thường, nhưng fcitx5-bamboo hay unikey variant cũng sẽ bị gạch chân và nếu đang ở input mode mà chưa bấm Space thì các characters sẽ chưa được commit tới server và nhả lại cho client. Nên khi bấm cursor đi chỗ khác thì các characters đã nhập sẽ đi theo. Input library hoạt động theo cơ chế pre-edit đều sẽ bị tình trạng này á.

@kienmatu
Copy link
Author

kienmatu commented Mar 10, 2023

Đây là diagram flow hoạt động của windowing manager x11 trên linux, về cơ bản kể cả x11 hay wayland nó có nhiều variant, biến thể của việc support typing method: Preedit, Commit string, Surrounding text...

Nên nếu follow fcitx hay ibus thì chúng ta vẫn đang bị phụ thuộc vào window manager, vì chỉ wm mới quản lý được input box đang được focus (??)

FD0558C2-8171-44D2-8FDA-973420B87552

How Linux GUI works (behind the scene)

@zenfas
Copy link

zenfas commented Mar 11, 2023

Nếu update git mới nhất vẫn lỗi thì report cho họ nhé @no-vici

Có lẽ là bạn đã hiểu sai những gì mình muốn nói ở trên rồi á. fcitx5 của mình vẫn chạy bình thường, nhưng fcitx5-bamboo hay unikey variant cũng sẽ bị gạch chân và nếu đang ở input mode mà chưa bấm Space thì các characters sẽ chưa được commit tới server và nhả lại cho client. Nên khi bấm cursor đi chỗ khác thì các characters đã nhập sẽ đi theo. Input library hoạt động theo cơ chế pre-edit đều sẽ bị tình trạng này á
Screenshot_20230311_164933
.

Bạn tải fcitx5, fcitx5-qt, fcitx5-gtk, fcitx5-bamboo hoặc fcitx5-unikey (có option ẩn gạch chân với 1 số app có hỗ trợ nhé) đa số đã được khắc phục (trên X nhé). Lỗi này xuất hiện là do fcitx không bắt được sự kiện chuột di chuyển, trên Wayland hình như 1 số app không bắt được sự kiện chuột nên có thể còn lỗi

@zenfas
Copy link

zenfas commented Mar 11, 2023

Đây là diagram flow hoạt động của windowing manager x11 trên linux, về cơ bản kể cả x11 hay wayland nó có nhiều variant, biến thể của việc support typing method: Preedit, Commit string, Surrounding text...

Nên nếu follow fcitx hay ibus thì chúng ta vẫn đang bị phụ thuộc vào window manager, vì chỉ wm mới quản lý được input box đang được focus (??)

FD0558C2-8171-44D2-8FDA-973420B87552

How Linux GUI works (behind the scene)

Nếu Surrounding text hoạt động ngon thì có thể chỉnh sửa từ đã commit ngon như trên Windows, nhưng hiện nhiều app hỗ trợ cái này kém

@zenfas
Copy link

zenfas commented Apr 3, 2023

@no-vici nếu bạn dùng Arch based thì update fcitx5-bamboo 1.0.4 mới nhất đã fix vụ di chuyển con trỏ chuột thì từ bị kéo theo

@no-vici
Copy link

no-vici commented Apr 3, 2023

@no-vici nếu bạn dùng Arch based thì update fcitx5-bamboo 1.0.4 mới nhất đã fix vụ di chuyển con trỏ chuột thì từ bị kéo theo

Cảm ơn bạn, giờ mình update luôn nè.

Cheers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants