From cfd67c463d704419dad99a61b78b188a647ad141 Mon Sep 17 00:00:00 2001 From: Changwoo Ryu Date: Sun, 28 Sep 2014 06:07:55 +0900 Subject: [PATCH] update Korean - Clear modifier when using RAlt/RCtrl as Hangul/Hanja keys https://bugs.freedesktop.org/show_bug.cgi?id=71696 - Add a new option, Korean Hangul/Hanja keys - Old kr and kr(kr104) layouts still remain, but as preset combinations of above options. --- rules/base.o_s.part | 2 ++ rules/base.xml.in | 24 ++++++++++++++++++++++++ symbols/kr | 48 +++++++++++++++++++++++++++++++++++++----------- symbols/sun_vndr/kr | 28 ++++++++++++++++++++++------ 4 files changed, 85 insertions(+), 17 deletions(-) diff --git a/rules/base.o_s.part b/rules/base.o_s.part index cda36e4..5e6f664 100644 --- a/rules/base.o_s.part +++ b/rules/base.o_s.part @@ -125,6 +125,8 @@ nbsp:level4nl = +nbsp(level4nl) japan:nicola_f_bs = +jp(nicola_f_bs) japan:hztg_escape = +jp(hztg_escape) + korean:ralt_rctrl = +kr(ralt_hangul)+kr(rctrl_hanja) + korean:rctrl_ralt = +kr(rctrl_hangul)+kr(ralt_hanja) kpdl:dot = +kpdl(dot) kpdl:comma = +kpdl(comma) kpdl:dotoss = +kpdl(dotoss) diff --git a/rules/base.xml.in b/rules/base.xml.in index 3fd0ce4..6a93983 100644 --- a/rules/base.xml.in +++ b/rules/base.xml.in @@ -6918,6 +6918,30 @@ + + + korean + <_description>Korean Hangul/Hanja keys + + + + + esperanto diff --git a/symbols/kr b/symbols/kr index 1ee560b..e554af0 100644 --- a/symbols/kr +++ b/symbols/kr @@ -2,27 +2,53 @@ default alphanumeric_keys xkb_symbols "kr106" { include "us" name[Group1]= "Korean"; - include "kr(koreankeys)" + include "kr(hw_keys)" }; alphanumeric_keys xkb_symbols "kr104" { include "us" name[Group1]= "Korean (101/104 key compatible)"; - include "kr(koreankeys)" - include "kr(koreankeys_raltctl)" + include "kr(ralt_hangul)" + include "kr(rctrl_hanja)" }; -hidden partial function_keys -xkb_symbols "koreankeys" { - key { [ Hangul ] }; - key { [ Hangul_Hanja ] }; +partial function_keys +xkb_symbols "hw_keys" { + key { [ Hangul ] }; + key { [ Hangul_Hanja ] }; }; -hidden partial function_keys -xkb_symbols "koreankeys_raltctl" { - key { [ Hangul ] }; - key { [ Hangul_Hanja ] }; +partial function_keys +xkb_symbols "ralt_hangul" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1]= [ Hangul ] + }; +}; + +partial function_keys +xkb_symbols "rctrl_hangul" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1]= [ Hangul ] + }; +}; + +partial function_keys +xkb_symbols "ralt_hanja" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1]= [ Hangul_Hanja ] + }; +}; + +partial function_keys +xkb_symbols "rctrl_hanja" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1]= [ Hangul_Hanja ] + }; }; // EXTRAS: diff --git a/symbols/sun_vndr/kr b/symbols/sun_vndr/kr index cc6d29e..0cd6a86 100644 --- a/symbols/sun_vndr/kr +++ b/symbols/sun_vndr/kr @@ -58,12 +58,28 @@ partial alphanumeric_keys include "kr(kr104)" }; -partial alphanumeric_keys - xkb_symbols "koreankeys" { - include "kr(koreankeys)" +partial function_keys + xkb_symbols "hw_keys" { + include "kr(hw_keys)" }; -partial alphanumeric_keys - xkb_symbols "koreankeys_raltctl" { - include "kr(koreankeys_raltctl)" +partial function_keys + xkb_symbols "ralt_hangul" { + include "kr(ralt_hangul)" }; + +partial function_keys + xkb_symbols "rctrl_hangul" { + include "kr(rctrl_hangul)" +}; + +partial function_keys + xkb_symbols "ralt_hanja" { + include "kr(ralt_hanja)" +}; + +partial function_keys + xkb_symbols "rctrl_hanja" { + include "kr(rctrl_hanja)" +}; + -- 2.1.1