osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
3.09k stars 372 forks source link

切換倉頡碼和英文鍵盤 #13

Closed jkwchk closed 8 years ago

jkwchk commented 9 years ago

希望能讓倉頡或注音等方案鍵盤顯示為對應字母而不是拉丁字母.

con5tella commented 9 years ago

这个可以在方案里实现。改 preedit_format 语句。

jkwchk commented 9 years ago

請問具體要如何更改? 2015/07/22 22:18 "Yuanchen Sieh" notifications@github.com:

这个可以在方案里实现。改 preedit_format 语句。

— Reply to this email directly or view it on GitHub https://github.com/osfans/trime/issues/13#issuecomment-123737689.

osfans commented 9 years ago

從/sdcard/rime/trime.yaml創建一個cangjie.trime.yaml,添加label字段

diff --git /sdcard/rime/cangjie.trime.yaml
@@ -529,7 +529,7 @@ keyboard:
   - {symbol: '{', text: o}
   - {symbol: '}', text: p}
   - {width: 5}
-  - {symbol: '`', text: a}
+  - {symbol: '`', text: a, label: 日}
   - {symbol: '~', text: s}
   - {text: d}
   - {text: f}
jkwchk commented 9 years ago

@osfans 請問能不能詳細說明一下或給一個範例? 複製了一份trime.yaml改名為cangjie.trime.yaml然後把相應的拉丁字母改為了倉頡字母,是這樣操作嗎? 還是說需要再修改其他文件的代碼? 謝謝

osfans commented 9 years ago

是的,從trime.yaml複製一份,然後添加label項。 不用改其他的了。文件名要跟schema_id一樣。

osfans commented 9 years ago

text後面的拉丁字母不能改。僅僅是添加label項。

jkwchk commented 9 years ago

@osfans 不太懂…具體要如何添加? 最好有一份範例…非常感謝!

osfans commented 9 years ago

trime.yaml就是範例。或者你直接修改trime.yaml也可以的。 比如字母a那行,改成

  - {symbol: '`', text: a, label: 日}
osfans commented 9 years ago

你要做的,就是給每一個鍵添加label。

jkwchk commented 9 years ago

@osfans 確實是變成倉頡字母了,謝謝。 但是英文鍵盤也變成倉頡了,是哪裡出問題了嗎?

osfans commented 9 years ago

確實是這樣。 這個可能要多添加一個鍵盤了。或者在label上,加上拉丁字母,同時顯示。

jkwchk commented 9 years ago

@osfans 那如何才能實現不同方案不同的鍵盤布局?

jkwchk commented 9 years ago

@osfans 現在應該怎樣才能讓中英文顯示不同鍵盤?

osfans commented 9 years ago

不同方案可以使用不同的鍵盤佈局的。trime.yaml是通用的,cangjie.trime.yaml或者zhuyin.trime.yaml就是特定的。

中英文暫時需要像數字鍵盤一樣,要搞一個專門的英文鍵盤。無法與倉頡的那種有label的通用。

jkwchk commented 9 years ago

@osfans 那現在可以通過甚麼辦法實現嗎(添加鍵盤的具體方法?)?還是要等代碼更新?

zaqzrh commented 9 years ago

@jkwchk 按这个https://github.com/osfans/trime-legacy/blob/master/assets/default.yaml 中trime\keyboard:部分,做一个二级的仓颉或英文的键盘吧。 注意:要按现有的命令,不要照搬。

jkwchk commented 9 years ago

@zaqzrh 這個要在canghie5.trime.yaml中添加還是在trime.yaml中添加,好像在cangjie5.trime.yaml中添加一個鍵盤(直接複製一個英文默認的然後改mode)好像無效,且變回默認英文鍵盤。 還有這樣添加二級鍵盤的話中英文切換方面要怎樣實現? 如果可以能把需要改的文件和格式等詳細說明一下嗎(做好有一個範例可以參考),因為對這些不是很懂。非常感謝!

zaqzrh commented 9 years ago

trime.yaml是通用所有的方案,canghie5.trime.yaml只適用於倉頡方案,而且canghie5.trime.yaml優先於trime.yaml。在canghie5.trime.yaml中添加! 你安裝以前Trime 2.x版http://pan.baidu.com/s/1nt9KeZB#path=%252Ftrime , 用winrar解壓apk,中有assets/default.yaml,試試那個方案合適你,就按那個版式改。Trime 3.x與2.x的鍵盤命令(功能鍵)可能有不同。

jkwchk commented 9 years ago

@zaqzrh 我好像看明白了, 但是這樣並不等同於真正的英文鍵盤吧, 發現原本的切換鍵是code: Language_switch, 這樣好像只能用code: switch, 所以還是應該改進主程序的代碼嗎?@osfans

@zaqzrh現有的命令改是指怎樣? 因為我只是普通用戶並非開發人員代碼真心不擅長, 所以可能這個功能其實很容易實現? 如果是這樣可以幫忙改一份嗎, 很感謝.

zaqzrh commented 9 years ago

"現有的命令"的是叫你按*.trime.yaml修改 非常抱歉,我不會倉頡

osfans commented 9 years ago

暫時確實不容易實現同一個鍵盤的中英文標籤切換。等以後加功能吧。