Bộ gõ Tiếng Việt cho UIQ3

doananhtai
17/11/2007 8:40Phản hồi: 493
Bộ gõ Tiếng Việt cho UIQ3
Xin chào tất cả mọi người.

Sau một thời gian mày mò tự học UIQ3.0 SDK, tôi đã viết xong phần mềm gõ tiếng Việt (đã thử và chạy tốt trên máy P990i của bản thân)

Đặc tính của phần mềm như sau:

- Phần mềm chưa có sign (đặc tính của UIQ SDK free là vậy) - bạn phải tự sign trước khi install.
- Tôi chỉ có máy P990i (nên các máy khác không biết và không thể kiểm tra).
- Dĩ nhiên là đã cài fonts unicode (4 font trong resource/fonts)


- Vì tôi chỉ mới biết được hàm CaptureKey() dùng để bắt mã Key khi 1 phím xác định được nhấn nên:

* chỉ gõ được tiếng Việt bằng phím cứng hoặc dùng viết viết chữ trên màn hình cảm ứng (phím ảo không gõ được tiếng Việt - như vậy lại hóa hay khi bạn muốn ghi 1 chữ tiếng Anh thì mở phím ảo.)

* Không biết cách bắt mã của một chữ đã có trên màn hình, nên mọi chữ muốn chuyển thành tiếng Việt phải gõ bằng bàn phím cứng hoặc viết từng chữ trên màn hình cảm ứng.

* Kiểu gõ tôi chọn là gõ kiểu telex. Vì VNI phím số phải nhấn 2 cái (Alt + Số) mắc công quá. Telex chỉ gõ toàn bắng chữ cái thì lẹ hơn.

* Vì không bắt được chữ đã có trên màn hình mà chỉ capture được từng phím khi được nhấn nên bắt buộc bạn phải gõ dấu theo đúng thứ tự sau nguyên âm chuẩn -> nguyên âm việt -> dấu. (nếu gõ ngoài thứ tự trên chữ sẽ ra búa xua).
ví dụ: bằng -> bạn phải gõ bawfg

* Vì cách gõ liên tiếp cùng một chữ đã bị P990i sử dụng cho việc chọn các nguyên âm khác nguyên âm chuẩn (ví dụ: nếu bạn gõ chữ a đầu tiên thì danh sách các nguyên âm khác chuẩn từ a như aa ã ä á æ ... hiện lên chờ bạn gõ tiếp cùng một chữ a tuần tự để chọn 1 trong các chữ trong danh sách. Do đó sẽ bị đụng nếu tôi lập trình theo telex các chữ aa -> â, ee -> ê, oo -> ô, dd -> đ, Do vậy tôi quyết định (phần mềm do tôi viết mà, nên quyết định thoải mái là phải rồi) thêm chữ q kèm theo cho các loại nguyên âm Việt mà cần phải gõ 2 lần:

Tức là bạn phải gõ aq -> â, eq -> ê, oq -> ô và dq -> đ.

Quảng cáo


Còn viết chữ bằng bút thì không bị đụng tình trạng như phím cứng nên bạn chọn kiểu nào cũng được (vd:aa hoặc aq đều cho ra chữ â)

Còn tất cả các kiểu khác vẫn giữ nguyên luật của telex:
Tức là w -> dấu: ư/ơ/ă, s: sắc, f: huyền, r: hỏi, x: ngã, j: nặng.

Riêng về dấu ngã chữ x khi gõ phím cứng thì được rồi, nhưng viết bằng viết thì khi viết chữ x bạn phải vẽ 2 nét: "/" màn hình hiện dấu "." sau đó nét "\" thì màn hình xóa lùi dấu chấm và xuất chữ X. Do vậy khi viết chữ x vô tình chương trình sẽ tuần tự xuất "." -> backspace -> x sai luật của tôi về kiểu gõ dấu phải liền theo nguyên âm do vậy sẽ chỉ ghi đươc ox chứ không ra được õ. Do vậy tôi quyết định (lại quyết định) thêm chữ v làm dấu ngã để dùng cho khi viết bằng bút trên màn hình cảm ứng.

Tóm lại muốn viết chữ "diễn đàn tinh tế " bạn phải gõ đúng theo thứ tự sau (sai thứ tự là chữ ra búa xua à nghen): dieqxn dqafn tinh teqs hoặc dieexn ddan tinh tees hoặc dieevn dqan tinh teqs đều được.

- Sau khi install, bạn chỉ cần chọt cho kích hoạt chương trình rồi bấm nút thoát ra và thế là bạn có thể vào tất cả các phần mềm có soạn thảo trong máy và viết tiếng Việt thoải mái. Nếu muốn tắt thì vào task manager và End nó là xong.

Rất mong mọi người đóng góp cho phần mềm (ai biết hàm nào có thể bắt chữ đã có trên màn hình điện thoại thì cho mình xin để cải thiện phần mềm tốt hơn).

Quảng cáo



Cập nhật:
2.0 - 19/11/2007
Bổ sung tính năng bật tắt bằng phím.
493 bình luận
Chia sẻ

Xu hướng

Tôi mua được tai nghe rồi.

Tặng các bạn phần mềm luôn, khỏi chờ đến noel.
Chúc mọi người mùa noel sớm vui vẻ😁:D:D:D:D:D
Phần mềm hay quá Tài ơi.
Tài có thể nghiên cứu thêm để có thể bật tắt bộ gõ. Không cần giao diện cũng được, có thể bấm tt để tắt, bb để bật hay bấm một tổ hợp phím nào đó. hoặc có thể làm giao diện để bật tắt,...

Xin cảm ơn rất nhiều.

PS.
Sau này tài dùng chức năng đính kèm file (File Attachment) trong khung soạn thảo đầy đủ cho nó tiện nhé.


Theo góp ý của anh dihuta, tôi đã cập nhật thêm chức năng bật tắt. Các bạn xem file huongdan.txt để tham khảo.

Nếu được nhờ anh dihuta edit lại giùm, làm sao cho mọi người dễ hiểu hơn.

Cám ơn tất cả các bạn.
Tiếp thu ý kiến, sắp tới tôi sẽ thêm chức năng tắt bật và thêm một file thứ 2 là kiểu gõ VNI.

Thân chào.
Good job!!! Thank you so much ...................Tài có thể bổ sung chức năng tự chạy khi khởi động lại máy luôn được ko?

Cuong85 ơi, bạn thử vào trang này load bootman UIQ3 1.00 về xài thử xem.

http://www.noeman.org/gsm/uiq-mobiles-applications-softwares/38309-bootman-uiq3-1-00-autostart-manager-modded-fully-functional.html
sign giùm minh đi nha. Số IMIE: 35959300-308841-7. thanks
vietvn
TÍCH CỰC
17 years
Của bạn đây, gồm 1 file cer và 1 file chương trình gõ tiếng việt đã sign: download link
vietvn
TÍCH CỰC
17 years
Đã thử sign và cài lên P990i, nhưng hỡi ơi!! Application couldn'd be started!!
vietvn
TÍCH CỰC
17 years
Ghi nhận công lao đóng góp của bác tài, rất cảm ơn bác. Tuy nhiên, khi em cài vào Phone memory thì bị lỗi (Application couldnt be started) chỉ khi cài vào thẻ mới OK. Bác xem lại nha!
bro sign giup minh voi.minh xai p990i, IM:35959300-889561-8
(sorry,online bang dt nen k danh co dau dc.thong cam)
Thanks.
vietvn
TÍCH CỰC
17 years
Của bạn đây, gồm 1 file cer và 1 file chương trình gõ tiếng việt đã sign: download link
sign giùm mình với. Số IMEI: 359931500-189183-6.

Thanks!
vietvn
TÍCH CỰC
17 years
Của bạn đây, gồm 1 file cer và 1 file chương trình gõ tiếng việt đã sign: download link
Minh sign đươc rồi nhưng khi cài đặt thì nó báo lỗi: "Constraints imposed by a developer mode certificate have been exceeded"
Giúp mình với!
Thân gởi vietvn, mình cũng sử dụng P990i và rất cần bộ gõ tiếng Việt, nhờ bạn sign giùm mình, cám ơn bạn.
Số IMEI: 35959300-834516-8
vietvn
TÍCH CỰC
17 years
Của bác đây, gồm 1 file cer và 1 file chương trình gõ tiếng việt đã sign: download link
Milanista
ĐẠI BÀNG
17 years
Mình dùng p990i, sign giùm mình với. Số IMEI:5959300-030777-8. Cảm ơn bạn rất nhiều
vietvn
TÍCH CỰC
17 years
Của bạn đây, gồm 1 file cer và 1 file chương trình gõ tiếng việt đã sign: download link
Cảm ơn bạn bác Tài, mình cài cho M600i chạy rất ngon
phần mềm đánh TV

😃 Thank you Tài nha. Mình đã load về rồi.
Để còn thử install xem được không.
Bạn nào có thể thì sign giúp mình với IMEI của mình 35959300-874312-3. Cảm ơn trước nhe. hoặc gửi email cho mình cũng được tuanthao3207@yahoo.com
good, good. mong bác Tài sớm có phiên bảng để có thể sử dụng cho bàn phím chuẩn và bàn phím ảo
Thân chào tất cả các bạn.

Sau khi tìm hiểu kỹ thì hàm capturekey() bắt được tất cả các phím trên điện thoại (kể cả phím chuẩn abc, các phím bên hông và phím con lăn - jog Dial).

Nên tôi đang tìm hướng để gõ được cả tiếng Việt bằng phím chuẩn abc.

Nhưng nghỉ nát nước chưa tìm được phương cách nào để chọn cách gõ tiếng Việt sao cho hợp lý nhất. Nay nhờ anh em đồng môn góp ý để sớm hoàn thiện Phần mềm.

chương trình hiện nay có thể mô tả ngắn gọn như sau:

(a) 1 phím được nhấn ---> (b) Mã phím được gởi cho Hệ thống + phần mềm đang chạy xử lý và cho ra kết quả tùy theo tình trạng hiện hành của hệ thống và phần mềm.

Khi kích hoạt chương trình thì:
(a) ----> (c) chương trình đón bắt mã phím này thay đổi thành mã phím khác theo yêu cầu riêng ---> (b)

vậy khi (a) là phím pad 2 (phím số 2 trên bàn phím chuẩn abc) ----> (b) nếu đang là quay số thì kết quả là số 2 / nếu là soạn tin thì kết quả là chữ a.

Vậy Nếu chương trình đón bắt phím pad 2 này (sau (a)) và xử lý thay đổi mã này thành mã nào đó sao cho (b) cho ra kết quả mình mong muốn (không can thiệp vào quá trình xử lý của (b)).

Vậy nhiệm vụ của chúng ta đại khái là:
ví dụ:
khi đang nhắn tin.
nhấn pad2 lần 1 --> không can thiệp --> (b) cho ra chữ a.
nhấn pad2 lần 2 --> không can thiệp --> (b) xóa a và cho ra b.
nhấn pad2 lần 3 --> không can thiệp --> (b) xóa b và cho ra c.
nhấn pad2 lần 4 --> can thiệp đổi pad2 thành xóa lùi + ă --> (b) xóa c và cho ra ă (vì khi nhận xóa lùi (b) sẽ xóa lùi, nhận ă (b) cho ra ă).

hoặc cách gõ khác
nhấn pad2 --> không can thiệp --> (b) cho ra a,
nhấn pad9 --> can thiệp đổi thành xóa lùi + ă --> (b) cho ra ă.

Nói thì dễ lắm nhưng nếu phân tích sâu thì rối rắm lắm, đụng này đụng nọ với (b).

Nên phần việc đụng này đụng nọ để tôi kiểm tra và chỉnh lý cho. Còn thao tác thế nào để cho ra dấu tiếng Việt mong mọi người góp ý để chọn cách tốt nhất.

Cám ơn nhiều.

tái bút: Do tính bộp chộp tôi ghi nhầm trong hướng dẫn, chính xác là wb: bật, wt: tắt. và thiếu dq và dd -> đ, Nhờ anh quản trị viên đính chính giùm.
- Còn phần gõ tiếng việt cải tiến sao cho gõ dấu thoải mái và đúng chuẩn như các phần mềm gõ tiếng Việt khác hiện có - có thể làm được nhưng mất công quá (và không có thời gian nhiều), nay nhờ anh em sinh viên công nghệ thông tin nào đã có làm bài tập về để tài này rồi thì cho mình xin source code để chuyển qua cho nhanh (ngôn ngữ nào cũng được). Bạn bè cũ hồi xưa tôi nhớ đã có một nhóm làm rồi, nhưng mà lâu quá nên không còn liên lạc được nữa.

Một lần nữa cám ơn các bạn.

Cám ơn nhiều.
đánh theo cách 1 (4 lần pad2 ---> ă) theo mình nghĩ thì sẽ ít đụng hơn. nhưng đánh theo cách này theo mình nghĩ thĩ khi viết tiếng Việt thì sẽ chậm. (cách này nhiều dòng máy hiện nay đang sử dụng. vì vậy mình rất it khi đánh tiếng Việt).
Có 1 cách đánh mà mình nghĩ rất hay như sau:
- để đánh dấu cho chữ mình sử dụng phím số 1 (pad1)
ví dụ: a + pad1 lần 1 ---> ă
a + pad1 lần 2 ---> â
e + pad1 lần 1 ---> ê
d + pad1 lần 1 ---> đ
o + pad1 lần 1 ---> ô
o + pad1 lần 2 ---> ơ
...............
- để đánh thanh, sử dụng phím số 0 (pad0)
ví dụ: pad0 lần 1,2,3,4,5 tương ứng thanh ', `, ?, ~, .
Ưu điểm:
hiện tại phím pad1 và pad0 là để đánh các kí tự đặc biệt, thường thì khi đánh các kí tự đặc biệt này nằm giữa 2 kí tự trắng (space)
ví dụ: "mình + bạn" :dấu + sẽ nằm giữa 2 khoảng trắng
"tinh - tế" : dấu - cũng nằm giữa 2 khoảng trắng
vì thế việc đánh các kí tự đặc biệt và đánh dấu sẽ không ảnh hưởng gì đến nhau.
Nhược:
cũng có một số kí tự đặc biệt bị ảnh hưởng. Ví dụ như đấu chấm (.); dấu chấm hỏi (?); nhưng những ảnh hưởng này là chấp nhận được bỏi vì thường từ kết thúc của 1 câu là phụ âm, ít nguyên âm hơn.
ví dụ: " bạn ăn cơm chưa?" thì dấu chấm hỏi (?) phải bấm 6 lần pad1 thay vì bấm 4 lần như bình thường. (thêm 2 lần bấm pad1: lần 1 -->ă, lần 2-->â)
Vì mình không phải chuyên ngành công nghệ thông tin nên ko rành về lập trình, mong các bro đóng góp thêm ý kiến cho bác Tài sớm hoàn thành PM này nha.
thanhafc
ĐẠI BÀNG
17 years
Tôi chưa biết cách sign như thế nào cả. Bạn nào có thể thì sign giúp mình với IMEI của mình 35959300-476779-5. Cảm ơn trước nhé. hoặc vui lòng email cho mình vào địa chỉ thanhafc@gmail.com nhé!
cám ơn bạn Tài, giá như bạn cho nó hiện được ở taskbar thì hay quá nhỉ!
Thank!
Bác Tài sign hộ mình với: IMEI: 35959300-028460-5.

Email của mình: lordzeus304@gmail.com.

Cám ơn bác!

Xu hướng

Bài mới










  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019