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

WIP Add Chinese keyboards #876

Open
wants to merge 32 commits into
base: v3-main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
faf9c38
Init rime intergration
kevinlin18 Mar 27, 2022
79f8101
Move Rime files to root
kevinlin18 Mar 28, 2022
122bafc
Improve rime
kevinlin18 Apr 2, 2022
3ef282f
Add Cangjie, Simplified settings
kevinlin18 Apr 2, 2022
9ecc601
Add Bopomofo, Tera pinyin
kevinlin18 Apr 3, 2022
d383014
Restore Output.xaml
kevinlin18 Apr 5, 2022
443e891
Move Rime files to Rime dir
kevinlin18 Apr 5, 2022
1717598
Enable/Disable page buttons by Rime status
kevinlin18 Apr 5, 2022
23f16a0
Add Rime preedit
kevinlin18 Apr 6, 2022
1babdbd
Disable shiftAware, hide shift key on pinyin and cangjie keyboard
kevinlin18 Apr 7, 2022
d711fd0
Disable shiftAware, hide shift key on bopomofo keyboard. Change conve…
kevinlin18 Apr 8, 2022
2f8aa01
Update zh-tw i10n file
kevinlin18 Apr 9, 2022
793e3e7
Split UI, Keyboard language list in management
kevinlin18 Apr 10, 2022
0eea444
Add English/ASCII keyboard for pinyin
kevinlin18 May 7, 2022
6fd92d9
Load English dictionary for Keyboard managed by rime
kevinlin18 May 8, 2022
7c7687a
Load English dictionary for Keyboard managed by rime (part 2)
kevinlin18 May 17, 2022
ae7e27b
Add English keyboard for bopomofo, cangjie
kevinlin18 May 21, 2022
5ea77e9
Update luna pinyin, terra pinyin, bopomofo, cangjie5 ime schema
kevinlin18 May 21, 2022
873b088
Add Language2 keyboard
kevinlin18 Jun 4, 2022
5f0f4f4
Fix English keyboard for cangjie, bopomofo
kevinlin18 Jun 5, 2022
3659312
Replace back key with menu key in Language keyboard
kevinlin18 Jun 5, 2022
b136d98
Add Enter key, Fix comma period for ConversationBopomofo
kevinlin18 Jul 25, 2022
5aaae46
Output text typed by rime(SimulatingKeyStrokes)
kevinlin18 Aug 1, 2022
5ebc3d2
NumberOfSuggestions Test
kevinlin18 Jul 14, 2022
0da7bd3
Fixes to Output number of suggestions
JuliusSweetland Jul 23, 2022
7850d52
NumberOfSuggestions Croatian, Slovak, Slovenian
kevinlin18 Aug 1, 2022
ef031d3
Fix NumberOfSuggestions
kevinlin18 Aug 23, 2022
04766cc
Change Rime page size to 6
kevinlin18 Aug 23, 2022
865ce11
Replace fluency_editor with express_editor for Rime Bopomofo
kevinlin18 Aug 23, 2022
a63b582
Fix comma,period in bopomofo keyboard
kevinlin18 Dec 4, 2022
6f0a6bb
Refactor rime commands as const
kevinlin18 Dec 4, 2022
df01d29
Merge branch 'v3-main' into rime
kmcnaught Aug 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 11 additions & 0 deletions src/JuliusSweetland.OptiKey.Core/Enums/FunctionKeys.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,16 @@ public enum FunctionKeys
BrowserSearch,
Calibrate,
CatalanSpain,
ChineseSimplifiedBopomofo,
ChineseSimplifiedCangjie5,
ChineseSimplifiedLunaPinyin,
ChineseSimplifiedTerraPinyin,
ChineseTaiwanTraditionalBopomofo,
ChineseTaiwanTraditionalLunaPinyin,
ChineseTraditionalBopomofo,
ChineseTraditionalCangjie5,
ChineseTraditionalLunaPinyin,
ChineseTraditionalTerraPinyin,
ClearScratchpad,
CollapseDock,
CommuniKate,
Expand Down Expand Up @@ -104,6 +114,7 @@ public enum FunctionKeys
JapaneseJapan,
KoreanKorea,
LanguageKeyboard,
Language2Keyboard,
LeftAlt,
LeftCtrl,
LeftShift,
Expand Down
83 changes: 82 additions & 1 deletion src/JuliusSweetland.OptiKey.Core/Enums/Languages.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ namespace JuliusSweetland.OptiKey.Enums
public enum Languages
{
CatalanSpain,
//ChineseSimplified,
ChineseSimplifiedBopomofo,
ChineseSimplifiedCangjie5,
ChineseSimplifiedLunaPinyin,
ChineseSimplifiedTerraPinyin,
ChineseTaiwanTraditionalLunaPinyin,
ChineseTaiwanTraditionalBopomofo,
ChineseTraditionalTaiwan,
ChineseTraditionalBopomofo,
ChineseTraditionalCangjie5,
ChineseTraditionalLunaPinyin,
ChineseTraditionalTerraPinyin,
CroatianCroatia,
CzechCzechRepublic,
DanishDenmark,
Expand Down Expand Up @@ -39,14 +51,24 @@ public enum Languages
UkrainianUkraine,
UrduPakistan
}

public static partial class EnumExtensions
{
public static string ToDescription(this Languages language)
{
switch (language)
{
case Languages.CatalanSpain: return Resources.CATALAN_SPAIN;
case Languages.ChineseSimplifiedBopomofo: return Resources.CHINESE_SIMPLIFIED_BOPOMOFO;
case Languages.ChineseSimplifiedCangjie5: return Resources.CHINESE_SIMPLIFIED_CANGJIE5;
case Languages.ChineseSimplifiedLunaPinyin: return Resources.CHINESE_SIMPLIFIED_LUNAPINYIN;
case Languages.ChineseSimplifiedTerraPinyin: return Resources.CHINESE_SIMPLIFIED_TERRAPINYIN;
case Languages.ChineseTaiwanTraditionalBopomofo: return Resources.CHINESE_TAIWAN_TRADITIONAL_BOPOMOFO;
case Languages.ChineseTaiwanTraditionalLunaPinyin: return Resources.CHINESE_TAIWAN_TRADITIONAL_LUNAPINYIN;
case Languages.ChineseTraditionalBopomofo: return Resources.CHINESE_TRADITIONAL_BOPOMOFO;
case Languages.ChineseTraditionalCangjie5: return Resources.CHINESE_TRADITIONAL_CANGJIE5;
case Languages.ChineseTraditionalLunaPinyin: return Resources.CHINESE_TRADITIONAL_LUNAPINYIN;
case Languages.ChineseTraditionalTerraPinyin: return Resources.CHINESE_TRADITIONAL_TERRAPINYIN;
case Languages.ChineseTraditionalTaiwan: return Resources.CHINESE_TRADITIONAL_TAIWAN;
case Languages.CroatianCroatia: return Resources.CROATIAN_CROATIA;
case Languages.CzechCzechRepublic: return Resources.CZECH_CZECH_REPUBLIC;
case Languages.DanishDenmark: return Resources.DANISH_DENMARK;
Expand Down Expand Up @@ -88,6 +110,7 @@ public static CultureInfo ToCultureInfo(this Languages language)
switch (language)
{
case Languages.CatalanSpain: return CultureInfo.GetCultureInfo("ca-ES");
case Languages.ChineseTraditionalTaiwan: return CultureInfo.GetCultureInfo("zh-TW");
case Languages.CroatianCroatia: return CultureInfo.GetCultureInfo("hr-HR");
case Languages.CzechCzechRepublic: return CultureInfo.GetCultureInfo("cs-CZ");
case Languages.DanishDenmark: return CultureInfo.GetCultureInfo("da-DK");
Expand Down Expand Up @@ -135,5 +158,63 @@ public static bool SupportsAutoSpace(this Languages language)
return true;
}
}
public static bool ManagedByRime(this Languages language)
{
switch (language) {
case Languages.ChineseSimplifiedBopomofo:
case Languages.ChineseSimplifiedCangjie5:
case Languages.ChineseSimplifiedLunaPinyin:
case Languages.ChineseSimplifiedTerraPinyin:
case Languages.ChineseTaiwanTraditionalBopomofo:
case Languages.ChineseTaiwanTraditionalLunaPinyin:
case Languages.ChineseTraditionalBopomofo:
case Languages.ChineseTraditionalCangjie5:
case Languages.ChineseTraditionalLunaPinyin:
case Languages.ChineseTraditionalTerraPinyin:
return true;

default:
return false;
}
}
public static string GetRimeSchemaId(this Languages language) {
switch (language) {
case Languages.ChineseSimplifiedBopomofo:
case Languages.ChineseTraditionalBopomofo:
return "bopomofo";
case Languages.ChineseTaiwanTraditionalBopomofo:
return "bopomofo_tw";
case Languages.ChineseSimplifiedCangjie5:
case Languages.ChineseTraditionalCangjie5:
return "cangjie5";
case Languages.ChineseSimplifiedLunaPinyin:
return "luna_pinyin_simp";
case Languages.ChineseTaiwanTraditionalLunaPinyin:
return "luna_pinyin_tw";
case Languages.ChineseTraditionalLunaPinyin:
return "luna_pinyin";
case Languages.ChineseSimplifiedTerraPinyin:
case Languages.ChineseTraditionalTerraPinyin:
return "terra_pinyin";
default:
return "";
}
}
public static string GetRimeOption(this Languages language) {
switch (language) {
case Languages.ChineseSimplifiedCangjie5:
case Languages.ChineseSimplifiedTerraPinyin:
return "simplification";
case Languages.ChineseTraditionalCangjie5:
case Languages.ChineseTraditionalTerraPinyin:
return "!simplification";
case Languages.ChineseSimplifiedBopomofo:
return "zh_hans";
case Languages.ChineseTraditionalBopomofo:
return "zh_hant";
default:
return "";
}
}
}
}