Revision: 6252
Author: jhyeon
Date: Sun Mar 14 10:11:58 2010
Log: * scm/byeoru.scm
- cosmetic changes only
- definitions of the following layouts have been simplified:
byeoru-layout-hangul2hanterm, byeoru-layout-hangul2,
byeoru-layout-strict3final, byeoru-layout-generous3final,
byeoru-layout-strict390, byeoru-layout-generous390,
byeoru-layout-no-shift, byeoru-romaja-rule
- (byeoru-look-up-dic): changed to (byeoru-lookup-word)
http://code.google.com/p/uim/source/detail?r=6252
Modified:
/trunk/scm/byeoru.scm
=======================================
--- /trunk/scm/byeoru.scm Tue Jan 20 18:11:15 2009
+++ /trunk/scm/byeoru.scm Sun Mar 14 10:11:58 2010
@@ -182,542 +182,534 @@
;; Expands a key choices list like
;; ((jongseong-bieub . (1 4)))
;; => ((jongseong-bieub . 1) (jongseong-bieub . 4)))
-(define byeoru-expand-layout
- (lambda args
- (let ((layout (car args))
- (kons (if (null? (cdr args)) cons list))
- (kdr (if (null? (cdr args)) cdr cadr)))
- (map (lambda (elm1)
- (let ((cands (kdr elm1)))
- (kons (car elm1)
- (if (list? cands)
- (append-map
- (lambda (elm2)
- (let ((class (car elm2))
- (nos (cdr elm2)))
- (if (list? nos)
- (map (lambda (no) (cons class no)) nos)
- (list elm2))))
- cands)
- cands))))
- layout))))
-
-(define byeoru-layout-hangul2hanterm
- (byeoru-expand-layout
- ;; Unshifted keys
- '(("q" (choseong-bieub . 1) (jongseong-bieub . (3 4)))
- ("w" (choseong-jieuj . 1) (jongseong-jieuj . (1 4)))
- ("e" (choseong-digeud . 1) (jongseong-digeud . 1))
- ("r" (choseong-giyeog . 1) (jongseong-giyeog . (3 4)))
- ("t" (choseong-sios . 1) (jongseong-sios . (1 4)))
- ("y" (jungseong-yo . 1))
- ("u" (jungseong-yeo . 1))
- ("i" (jungseong-ya . 1))
- ("o" (jungseong-ae . (1 4)))
- ("p" (jungseong-e . (1 4)))
- ("a" (choseong-mieum . 1) (jongseong-mieum . (1 4)))
- ("s" (choseong-nieun . 1) (jongseong-nieun . 3))
- ("d" (choseong-ieung . 1) (jongseong-ieung . 1))
- ("f" (choseong-rieul . 1) (jongseong-rieul . 3))
- ("g" (choseong-hieuh . 1) (jongseong-hieuh . (1 4)))
- ("h" (jungseong-o . 3))
- ("j" (jungseong-eo . (1 4)))
- ("k" (jungseong-a . (1 4)))
- ("l" (jungseong-i . (1 4)))
- ("z" (choseong-kieuk . 1) (jongseong-kieuk . 1))
- ("x" (choseong-tieut . 1) (jongseong-tieut . (1 4)))
- ("c" (choseong-chieuch . 1) (jongseong-chieuch . 1))
- ("v" (choseong-pieup . 1) (jongseong-pieup . (1 4)))
- ("b" (jungseong-yu . 1))
- ("n" (jungseong-u . 3))
- ("m" (jungseong-eu . 3))
- ;; Shifted keys
- ("Q" (choseong-ssangbieub . 5))
- ("W" (choseong-ssangjieuj . 5))
- ("E" (choseong-ssangdigeud . 5))
- ("R" (choseong-ssanggiyeog . 5) (jongseong-ssanggiyeog . 5))
- ("T" (choseong-ssangsios . 5) (jongseong-ssangsios . 5))
- ("O" (jungseong-yae . 1))
- ("P" (jungseong-ye . 1)))))
-
-(define byeoru-layout-hangul2
- (byeoru-expand-layout
- ;; Unshifted keys
- '(("q" (choseong-bieub . 1) (jongseong-bieub . (3 4)))
- ("w" (choseong-jieuj . 1) (jongseong-jieuj . (1 4)))
- ("e" (choseong-digeud . 1) (jongseong-digeud . 1))
- ("r" (choseong-giyeog . 1) (jongseong-giyeog . (3 4)))
- ("t" (choseong-sios . 1) (jongseong-sios . (1 4)))
- ("y" (jungseong-yo . 1))
- ("u" (jungseong-yeo . 1))
- ("i" (jungseong-ya . 1))
- ("o" (jungseong-ae . (1 4)))
- ("p" (jungseong-e . (1 4)))
- ("a" (choseong-mieum . 1) (jongseong-mieum . (1 4)))
- ("s" (choseong-nieun . 1) (jongseong-nieun . 3))
- ("d" (choseong-ieung . 1) (jongseong-ieung . 1))
- ("f" (choseong-rieul . 1) (jongseong-rieul . 3))
- ("g" (choseong-hieuh . 1) (jongseong-hieuh . (1 4)))
- ("h" (jungseong-o . 3))
- ("j" (jungseong-eo . (1 4)))
- ("k" (jungseong-a . (1 4)))
- ("l" (jungseong-i . (1 4)))
- ("z" (choseong-kieuk . 1) (jongseong-kieuk . 1))
- ("x" (choseong-tieut . 1) (jongseong-tieut . (1 4)))
- ("c" (choseong-chieuch . 1) (jongseong-chieuch . 1))
- ("v" (choseong-pieup . 1) (jongseong-pieup . (1 4)))
- ("b" (jungseong-yu . 1))
- ("n" (jungseong-u . 3))
- ("m" (jungseong-eu . 3))
- ;; Shifted keys
- ("Q" (choseong-ssangbieub . 5))
- ("W" (choseong-ssangjieuj . 5))
- ("E" (choseong-ssangdigeud . 5))
- ("R" (choseong-ssanggiyeog . 5) (jongseong-ssanggiyeog . 5))
- ("T" (choseong-ssangsios . 5) (jongseong-ssangsios . 5))
- ("Y" (jungseong-yo . 1))
- ("U" (jungseong-yeo . 1))
- ("I" (jungseong-ya . 1))
- ("O" (jungseong-yae . 1))
- ("P" (jungseong-ye . 1))
- ("A" (choseong-mieum . 1) (jongseong-mieum . (1 4)))
- ("S" (choseong-nieun . 1) (jongseong-nieun . 3))
- ("D" (choseong-ieung . 1) (jongseong-ieung . 1))
- ("F" (choseong-rieul . 1) (jongseong-rieul . 3))
- ("G" (choseong-hieuh . 1) (jongseong-hieuh . (1 4)))
- ("H" (jungseong-o . 3))
- ("J" (jungseong-eo . (1 4)))
- ("K" (jungseong-a . (1 4)))
- ("L" (jungseong-i . (1 4)))
- ("Z" (choseong-kieuk . 1) (jongseong-kieuk . 1))
- ("X" (choseong-tieut . 1) (jongseong-tieut . (1 4)))
- ("C" (choseong-chieuch . 1) (jongseong-chieuch . 1))
- ("V" (choseong-pieup . 1) (jongseong-pieup . (1 4)))
- ("B" (jungseong-yu . 1))
- ("N" (jungseong-u . 3))
- ("M" (jungseong-eu . 3)))))
+(define (byeoru-expand-choices choices)
+ (if (list? choices)
+ (append-map
+ (lambda (elt)
+ (let ((class (car elt))
+ (nos (cdr elt)))
+ (if (list? nos)
+ (map (lambda (no) (cons class no)) nos)
+ (list elt))))
+ choices)
+ choices))
+
+(define-macro (byeoru-define-layout name . layout)
+ `(define ,name
+ (map (lambda (elt)
+ (cons (car elt)
+ (byeoru-expand-choices (cdr elt))))
+ ',layout)))
+
+(byeoru-define-layout byeoru-layout-hangul2hanterm
+ ;; Unshifted keys
+ ("q" (choseong-bieub . 1) (jongseong-bieub . (3 4)))
+ ("w" (choseong-jieuj . 1) (jongseong-jieuj . (1 4)))
+ ("e" (choseong-digeud . 1) (jongseong-digeud . 1))
+ ("r" (choseong-giyeog . 1) (jongseong-giyeog . (3 4)))
+ ("t" (choseong-sios . 1) (jongseong-sios . (1 4)))
+ ("y" (jungseong-yo . 1))
+ ("u" (jungseong-yeo . 1))
+ ("i" (jungseong-ya . 1))
+ ("o" (jungseong-ae . (1 4)))
+ ("p" (jungseong-e . (1 4)))
+ ("a" (choseong-mieum . 1) (jongseong-mieum . (1 4)))
+ ("s" (choseong-nieun . 1) (jongseong-nieun . 3))
+ ("d" (choseong-ieung . 1) (jongseong-ieung . 1))
+ ("f" (choseong-rieul . 1) (jongseong-rieul . 3))
+ ("g" (choseong-hieuh . 1) (jongseong-hieuh . (1 4)))
+ ("h" (jungseong-o . 3))
+ ("j" (jungseong-eo . (1 4)))
+ ("k" (jungseong-a . (1 4)))
+ ("l" (jungseong-i . (1 4)))
+ ("z" (choseong-kieuk . 1) (jongseong-kieuk . 1))
+ ("x" (choseong-tieut . 1) (jongseong-tieut . (1 4)))
+ ("c" (choseong-chieuch . 1) (jongseong-chieuch . 1))
+ ("v" (choseong-pieup . 1) (jongseong-pieup . (1 4)))
+ ("b" (jungseong-yu . 1))
+ ("n" (jungseong-u . 3))
+ ("m" (jungseong-eu . 3))
+ ;; Shifted keys
+ ("Q" (choseong-ssangbieub . 5))
+ ("W" (choseong-ssangjieuj . 5))
+ ("E" (choseong-ssangdigeud . 5))
+ ("R" (choseong-ssanggiyeog . 5) (jongseong-ssanggiyeog . 5))
+ ("T" (choseong-ssangsios . 5) (jongseong-ssangsios . 5))
+ ("O" (jungseong-yae . 1))
+ ("P" (jungseong-ye . 1)))
+
+(byeoru-define-layout byeoru-layout-hangul2
+ ;; Unshifted keys
+ ("q" (choseong-bieub . 1) (jongseong-bieub . (3 4)))
+ ("w" (choseong-jieuj . 1) (jongseong-jieuj . (1 4)))
+ ("e" (choseong-digeud . 1) (jongseong-digeud . 1))
+ ("r" (choseong-giyeog . 1) (jongseong-giyeog . (3 4)))
+ ("t" (choseong-sios . 1) (jongseong-sios . (1 4)))
+ ("y" (jungseong-yo . 1))
+ ("u" (jungseong-yeo . 1))
+ ("i" (jungseong-ya . 1))
+ ("o" (jungseong-ae . (1 4)))
+ ("p" (jungseong-e . (1 4)))
+ ("a" (choseong-mieum . 1) (jongseong-mieum . (1 4)))
+ ("s" (choseong-nieun . 1) (jongseong-nieun . 3))
+ ("d" (choseong-ieung . 1) (jongseong-ieung . 1))
+ ("f" (choseong-rieul . 1) (jongseong-rieul . 3))
+ ("g" (choseong-hieuh . 1) (jongseong-hieuh . (1 4)))
+ ("h" (jungseong-o . 3))
+ ("j" (jungseong-eo . (1 4)))
+ ("k" (jungseong-a . (1 4)))
+ ("l" (jungseong-i . (1 4)))
+ ("z" (choseong-kieuk . 1) (jongseong-kieuk . 1))
+ ("x" (choseong-tieut . 1) (jongseong-tieut . (1 4)))
+ ("c" (choseong-chieuch . 1) (jongseong-chieuch . 1))
+ ("v" (choseong-pieup . 1) (jongseong-pieup . (1 4)))
+ ("b" (jungseong-yu . 1))
+ ("n" (jungseong-u . 3))
+ ("m" (jungseong-eu . 3))
+ ;; Shifted keys
+ ("Q" (choseong-ssangbieub . 5))
+ ("W" (choseong-ssangjieuj . 5))
+ ("E" (choseong-ssangdigeud . 5))
+ ("R" (choseong-ssanggiyeog . 5) (jongseong-ssanggiyeog . 5))
+ ("T" (choseong-ssangsios . 5) (jongseong-ssangsios . 5))
+ ("Y" (jungseong-yo . 1))
+ ("U" (jungseong-yeo . 1))
+ ("I" (jungseong-ya . 1))
+ ("O" (jungseong-yae . 1))
+ ("P" (jungseong-ye . 1))
+ ("A" (choseong-mieum . 1) (jongseong-mieum . (1 4)))
+ ("S" (choseong-nieun . 1) (jongseong-nieun . 3))
+ ("D" (choseong-ieung . 1) (jongseong-ieung . 1))
+ ("F" (choseong-rieul . 1) (jongseong-rieul . 3))
+ ("G" (choseong-hieuh . 1) (jongseong-hieuh . (1 4)))
+ ("H" (jungseong-o . 3))
+ ("J" (jungseong-eo . (1 4)))
+ ("K" (jungseong-a . (1 4)))
+ ("L" (jungseong-i . (1 4)))
+ ("Z" (choseong-kieuk . 1) (jongseong-kieuk . 1))
+ ("X" (choseong-tieut . 1) (jongseong-tieut . (1 4)))
+ ("C" (choseong-chieuch . 1) (jongseong-chieuch . 1))
+ ("V" (choseong-pieup . 1) (jongseong-pieup . (1 4)))
+ ("B" (jungseong-yu . 1))
+ ("N" (jungseong-u . 3))
+ ("M" (jungseong-eu . 3)))
;; The following definitions of 3-beol variants [final, 390, no-shift]
;; are based on the US keyboard layout. A user of a different layout
;; (such as dvorak, Japanese) may want to write their own definition
;; in ~/.uim.
-(define byeoru-layout-strict3final
- (byeoru-expand-layout
- ;; Unshifted keys
- '(("`" . "*")
- ("1" (jongseong-hieuh . 1))
- ("2" (jongseong-ssangsios . 5))
- ("3" (jongseong-bieub . 1))
- ("4" (jungseong-yo . 1))
- ("5" (jungseong-yu . 1))
- ("6" (jungseong-ya . 1))
- ("7" (jungseong-ye . 1))
- ("8" (jungseong-ui . 4))
- ("9" (jungseong-u . 2))
- ("0" (choseong-kieuk . 1))
- ("-" . ")")
- ("=" . ">")
- ("q" (jongseong-sios . 1))
- ("w" (jongseong-rieul . 1))
- ("e" (jungseong-yeo . 1))
- ("r" (jungseong-ae . (1 4)))
- ("t" (jungseong-eo . (1 4)))
- ("y" (choseong-rieul . 1))
- ("u" (choseong-digeud . (3 5)))
- ("i" (choseong-mieum . 1))
- ("o" (choseong-chieuch . 1))
- ("p" (choseong-pieup . 1))
- ("[" . "(")
- ("]" . "<")
- ("\\" . ":")
- ("a" (jongseong-ieung . 1))
- ("s" (jongseong-nieun . 1))
- ("d" (jungseong-i . (1 4)))
- ("f" (jungseong-a . (1 4)))
- ("g" (jungseong-eu . 1))
- ("h" (choseong-nieun . 1))
- ("j" (choseong-ieung . 1))
- ("k" (choseong-giyeog . (3 5)))
- ("l" (choseong-jieuj . (3 5)))
- (";" (choseong-bieub . (3 5)))
- ("'" (choseong-tieut . 1))
- ("z" (jongseong-mieum . 1))
- ("x" (jongseong-giyeog . 1))
- ("c" (jungseong-e . (1 4)))
- ("v" (jungseong-o . 1))
- ("b" (jungseong-u . 1))
- ("n" (choseong-sios . (3 5)))
- ("m" (choseong-hieuh . 1))
- ("/" (jungseong-o . 2))
- ;; Shifted keys
- ("~" . 8251) ; U+203B, REFERENCE MARK
- ("!" (jongseong-ssanggiyeog . 5))
- ("@" (jongseong-rieulgiyeog . 4))
- ("#" (jongseong-jieuj . 1))
- ("$" (jongseong-rieulpieup . 4))
- ("%" (jongseong-rieultieut . 4))
- ("^" . "=")
- ("&" . 8220) ; U+201C, LEFT DOUBLE QUOTATION MARK
- ("*" . 8221) ; U+201D, RIGHT DOUBLE QUOTATION MARK
- ("(" . "'")
- (")" . "~")
- ("_" . ";")
- ("Q" (jongseong-pieup . 1))
- ("W" (jongseong-tieut . 1))
- ("E" (jongseong-nieunjieuj . 4))
- ("R" (jongseong-rieulhieuh . 4))
- ("T" (jongseong-rieulsios . 4))
- ("Y" . "5")
- ("U" . "6")
- ("I" . "7")
- ("O" . "8")
- ("P" . "9")
- ("{" . "%")
- ("}" . "/")
- ("|" . "\\")
-;; ("|" . 8361) ; U+20A9, WON SIGN
- ("A" (jongseong-digeud . 1))
- ("S" (jongseong-nieunhieuh . 4))
- ("D" (jongseong-rieulbieub . 4))
- ("F" (jongseong-rieulmieum . 4))
- ("G" (jungseong-yae . 1))
- ("H" . "0")
- ("J" . "1")
- ("K" . "2")
- ("L" . "3")
- (":" . "4")
- ("\"" . 183) ; U+00B7, MIDDLE DOT
- ("Z" (jongseong-chieuch . 1))
- ("X" (jongseong-bieubsios . 4))
- ("C" (jongseong-kieuk . 1))
- ("V" (jongseong-giyeogsios . 4))
- ("B" . "?")
- ("N" . "-")
- ("M" . "\"")
- ("<" . ",")
- (">" . ".")
- ("?" . "!"))))
-
-(define byeoru-layout-generous3final
- (byeoru-expand-layout
- ;; Unshifted keys
- '(("`" . "*")
- ("1" (jongseong-hieuh . (1 4)))
- ("2" (jongseong-ssangsios . 5))
- ("3" (jongseong-bieub . (3 4)))
- ("4" (jungseong-yo . 1))
- ("5" (jungseong-yu . 1))
- ("6" (jungseong-ya . 1))
- ("7" (jungseong-ye . 1))
- ("8" (jungseong-ui . 4))
- ("9" (jungseong-u . 3))
- ("0" (choseong-kieuk . 1))
- ("-" . ")")
- ("=" . ">")
- ("q" (jongseong-sios . (3 4 5)))
- ("w" (jongseong-rieul . 3))
- ("e" (jungseong-yeo . 1))
- ("r" (jungseong-ae . (1 4)))
- ("t" (jungseong-eo . (1 4)))
- ("y" (choseong-rieul . 1))
- ("u" (choseong-digeud . (3 5)))
- ("i" (choseong-mieum . 1))
- ("o" (choseong-chieuch . 1))
- ("p" (choseong-pieup . 1))
- ("[" . "(")
- ("]" . "<")
- ("\\" . ":")
- ("a" (jongseong-ieung . 1))
- ("s" (jongseong-nieun . 3))
- ("d" (jungseong-i . (1 4)))
- ("f" (jungseong-a . (1 4)))
- ("g" (jungseong-eu . 3))
- ("h" (choseong-nieun . 1))
- ("j" (choseong-ieung . 1))
- ("k" (choseong-giyeog . (3 5)))
- ("l" (choseong-jieuj . (3 5)))
- (";" (choseong-bieub . (3 5)))
- ("'" (choseong-tieut . 1))
- ("z" (jongseong-mieum . (1 4)))
- ("x" (jongseong-giyeog . (3 4 5)))
- ("c" (jungseong-e . (1 4)))
- ("v" (jungseong-o . 3))
- ("b" (jungseong-u . 3))
- ("n" (choseong-sios . (3 5)))
- ("m" (choseong-hieuh . 1))
- ("/" (jungseong-o . 3))
- ;; Shifted keys
- ("~" . 8251) ; U+203B, REFERENCE MARK
- ("!" (jongseong-ssanggiyeog . 5))
- ("@" (jongseong-rieulgiyeog . 4))
- ("#" (jongseong-jieuj . (1 4)))
- ("$" (jongseong-rieulpieup . 4))
- ("%" (jongseong-rieultieut . 4))
- ("^" . "=")
- ("&" . 8220) ; U+201C, LEFT DOUBLE QUOTATION MARK
- ("*" . 8221) ; U+201D, RIGHT DOUBLE QUOTATION MARK
- ("(" . "'")
- (")" . "~")
- ("_" . ";")
- ("Q" (jongseong-pieup . (1 4)))
- ("W" (jongseong-tieut . (1 4)))
- ("E" (jongseong-nieunjieuj . 4))
- ("R" (jongseong-rieulhieuh . 4))
- ("T" (jongseong-rieulsios . 4))
- ("Y" . "5")
- ("U" . "6")
- ("I" . "7")
- ("O" . "8")
- ("P" . "9")
- ("{" . "%")
- ("}" . "/")
- ("|" . "\\")
-;; ("|" . 8361) ; U+20A9, WON SIGN
- ("A" (jongseong-digeud . 1))
- ("S" (jongseong-nieunhieuh . 4))
- ("D" (jongseong-rieulbieub . 4))
- ("F" (jongseong-rieulmieum . 4))
- ("G" (jungseong-yae . 1))
- ("H" . "0")
- ("J" . "1")
- ("K" . "2")
- ("L" . "3")
- (":" . "4")
- ("\"". 183) ; U+00B7, MIDDLE DOT
- ("Z" (jongseong-chieuch . 1))
- ("X" (jongseong-bieubsios . 4))
- ("C" (jongseong-kieuk . 1))
- ("V" (jongseong-giyeogsios . 4))
- ("B" . "?")
- ("N" . "-")
- ("M" . "\"")
- ("<" . ",")
- (">" . ".")
- ("?" . "!"))))
-
-(define byeoru-layout-strict390
- (byeoru-expand-layout
- ;; Unshifted keys
- '(("1" (jongseong-hieuh . 1))
- ("2" (jongseong-ssangsios . 5))
- ("3" (jongseong-bieub . (1 4)))
- ("4" (jungseong-yo . 1))
- ("5" (jungseong-yu . 1))
- ("6" (jungseong-ya . 1))
- ("7" (jungseong-ye . 1))
- ("8" (jungseong-ui . 4))
- ("9" (jungseong-u . 2))
- ("0" (choseong-kieuk . 1))
- ("q" (jongseong-sios . (1 4)))
- ("w" (jongseong-rieul . 3))
- ("e" (jungseong-yeo . 1))
- ("r" (jungseong-ae . (1 4)))
- ("t" (jungseong-eo . (1 4)))
- ("y" (choseong-rieul . 1))
- ("u" (choseong-digeud . (3 5)))
- ("i" (choseong-mieum . 1))
- ("o" (choseong-chieuch . 1))
- ("p" (choseong-pieup . 1))
- ("a" (jongseong-ieung . 1))
- ("s" (jongseong-nieun . 3))
- ("d" (jungseong-i . (1 4)))
- ("f" (jungseong-a . (1 4)))
- ("g" (jungseong-eu . 1))
- ("h" (choseong-nieun . 1))
- ("j" (choseong-ieung . 1))
- ("k" (choseong-giyeog . (3 5)))
- ("l" (choseong-jieuj . (3 5)))
- (";" (choseong-bieub . (3 5)))
- ("'" (choseong-tieut . 1))
- ("z" (jongseong-mieum . 1))
- ("x" (jongseong-giyeog . 3))
- ("c" (jungseong-e . (1 4)))
- ("v" (jungseong-o . 1))
- ("b" (jungseong-u . 1))
- ("n" (choseong-sios . (3 5)))
- ("m" (choseong-hieuh . 1))
- ("/" (jungseong-o . 2))
- ;; Shifted keys
- ("!" (jongseong-jieuj . (1 4)))
- ("Q" (jongseong-pieup . (1 4)))
- ("W" (jongseong-tieut . (1 4)))
- ("E" (jongseong-kieuk . 1))
- ("R" (jungseong-yae . 1))
- ("T" . ";")
- ("Y" . "<")
- ("U" . "7")
- ("I" . "8")
- ("O" . "9")
- ("P" . ">")
- ("A" (jongseong-digeud . 1))
- ("S" (jongseong-nieunhieuh . 4))
- ("D" (jongseong-rieulgiyeog . 4))
- ("F" (jongseong-ssanggiyeog . 5))
- ("G" . "/")
- ("H" . "'")
- ("J" . "4")
- ("K" . "5")
- ("L" . "6")
- ("Z" (jongseong-chieuch . 1))
- ("X" (jongseong-bieubsios . 4))
- ("C" (jongseong-rieulmieum . 4))
- ("V" (jongseong-rieulhieuh . 4))
- ("B" . "!")
- ("N" . "0")
- ("M" . "1")
- ("<" . "2")
- (">" . "3"))))
-
-(define byeoru-layout-generous390
- (byeoru-expand-layout
- ;; Unshifted keys
- '(("1" (jongseong-hieuh . (1 4)))
- ("2" (jongseong-ssangsios . 5))
- ("3" (jongseong-bieub . (3 4)))
- ("4" (jungseong-yo . 1))
- ("5" (jungseong-yu . 1))
- ("6" (jungseong-ya . 1))
- ("7" (jungseong-ye . 1))
- ("8" (jungseong-ui . 4))
- ("9" (jungseong-u . 3))
- ("0" (choseong-kieuk . 1))
- ("q" (jongseong-sios . (3 4 5)))
- ("w" (jongseong-rieul . 3))
- ("e" (jungseong-yeo . 1))
- ("r" (jungseong-ae . (1 4)))
- ("t" (jungseong-eo . (1 4)))
- ("y" (choseong-rieul . 1))
- ("u" (choseong-digeud . (3 5)))
- ("i" (choseong-mieum . 1))
- ("o" (choseong-chieuch . 1))
- ("p" (choseong-pieup . 1))
- ("a" (jongseong-ieung . 1))
- ("s" (jongseong-nieun . 3))
- ("d" (jungseong-i . (1 4)))
- ("f" (jungseong-a . (1 4)))
- ("g" (jungseong-eu . 3))
- ("h" (choseong-nieun . 1))
- ("j" (choseong-ieung . 1))
- ("k" (choseong-giyeog . (3 5)))
- ("l" (choseong-jieuj . (3 5)))
- (";" (choseong-bieub . (3 5)))
- ("'" (choseong-tieut . 1))
- ("z" (jongseong-mieum . (1 4)))
- ("x" (jongseong-giyeog . (3 4 5)))
- ("c" (jungseong-e . (1 4)))
- ("v" (jungseong-o . 3))
- ("b" (jungseong-u . 3))
- ("n" (choseong-sios . (3 5)))
- ("m" (choseong-hieuh . 1))
- ("/" (jungseong-o . 3))
- ;; Shifted keys
- ("!" (jongseong-jieuj . (1 4)))
- ("Q" (jongseong-pieup . (1 4)))
- ("W" (jongseong-tieut . (1 4)))
- ("E" (jongseong-kieuk . 1))
- ("R" (jungseong-yae . 1))
- ("T" . ";")
- ("Y" . "<")
- ("U" . "7")
- ("I" . "8")
- ("O" . "9")
- ("P" . ">")
- ("A" (jongseong-digeud . 1))
- ("S" (jongseong-nieunhieuh . 4))
- ("D" (jongseong-rieulgiyeog . 4))
- ("F" (jongseong-ssanggiyeog . 5))
- ("G" . "/")
- ("H" . "'")
- ("J" . "4")
- ("K" . "5")
- ("L" . "6")
- ("Z" (jongseong-chieuch . 1))
- ("X" (jongseong-bieubsios . 4))
- ("C" (jongseong-rieulmieum . 4))
- ("V" (jongseong-rieulhieuh . 4))
- ("B" . "!")
- ("N" . "0")
- ("M" . "1")
- ("<" . "2")
- (">" . "3"))))
-
-(define byeoru-layout-no-shift
- (byeoru-expand-layout
- ;; Unshifted keys
- '(("`" . 183)
- ("1" (jongseong-hieuh . (1 4)))
- ("2" (jongseong-ssangsios . 5))
- ("3" (jongseong-bieub . (3 4)))
- ("4" (jungseong-yo . 1))
- ("5" (jungseong-yu . 1))
- ("6" (jungseong-ya . 1))
- ("7" (jungseong-ye . 1))
- ("8" (jungseong-ui . 4))
- ("9" (choseong-kieuk . 1))
- ("0" (jungseong-yae . 1))
- ("-" (jongseong-jieuj . (1 4)))
- ("=" (jongseong-chieuch . 1))
- ("q" (jongseong-sios . (3 4 5)))
- ("w" (jongseong-rieul . 3))
- ("e" (jungseong-yeo . 1))
- ("r" (jungseong-ae . (1 4)))
- ("t" (jungseong-eo . (1 4)))
- ("y" (choseong-rieul . 1))
- ("u" (choseong-digeud . (3 5)))
- ("i" (choseong-mieum . 1))
- ("o" (choseong-chieuch . 1))
- ("p" (choseong-pieup . 1))
- ("[" (jongseong-tieut . (1 4)))
- ("]" (jongseong-pieup . (1 4)))
- ("\\" (jongseong-kieuk . 1))
- ("a" (jongseong-ieung . 1))
- ("s" (jongseong-nieun . 3))
- ("d" (jungseong-i . (1 4)))
- ("f" (jungseong-a . (1 4)))
- ("g" (jungseong-eu . 3))
- ("h" (choseong-nieun . 1))
- ("j" (choseong-ieung . 1))
- ("k" (choseong-giyeog . (3 5)))
- ("l" (choseong-jieuj . (3 5)))
- (";" (choseong-bieub . (3 5)))
- ("'" (choseong-tieut . 1))
- ("z" (jongseong-mieum . (1 4)))
- ("x" (jongseong-giyeog . (3 4 5)))
- ("c" (jungseong-e . (1 4)))
- ("v" (jungseong-o . 3))
- ("b" (jungseong-u . 3))
- ("n" (choseong-sios . (3 5)))
- ("m" (choseong-hieuh . 1))
- ("/" (jongseong-digeud . 1))
- ;; Shifted keys
- ("Q" (jongseong-sios . (3 4 5)))
- ("W" (jongseong-rieul . 3))
- ("E" (jungseong-yeo . 1))
- ("R" (jungseong-ae . (1 4)))
- ("T" . ";")
- ("Y" . "<")
- ("U" . "7")
- ("I" . "8")
- ("O" . "9")
- ("P" . ">")
- ("A" (jongseong-ieung . 1))
- ("S" . "[")
- ("D" . "]")
- ("F" (jungseong-a . (1 4)))
- ("G" . "/")
- ("H" . "'")
- ("J" . "4")
- ("K" . "5")
- ("L" . "6")
- ("Z" . "-")
- ("X" . "=")
- ("C" . "\\")
- ("V" (jungseong-o . 3))
- ("B" . "!")
- ("N" . "0")
- ("M" . "1")
- ("<" . "2")
- (">" . "3"))))
+(byeoru-define-layout byeoru-layout-strict3final
+ ;; Unshifted keys
+ ("`" . "*")
+ ("1" (jongseong-hieuh . 1))
+ ("2" (jongseong-ssangsios . 5))
+ ("3" (jongseong-bieub . 1))
+ ("4" (jungseong-yo . 1))
+ ("5" (jungseong-yu . 1))
+ ("6" (jungseong-ya . 1))
+ ("7" (jungseong-ye . 1))
+ ("8" (jungseong-ui . 4))
+ ("9" (jungseong-u . 2))
+ ("0" (choseong-kieuk . 1))
+ ("-" . ")")
+ ("=" . ">")
+ ("q" (jongseong-sios . 1))
+ ("w" (jongseong-rieul . 1))
+ ("e" (jungseong-yeo . 1))
+ ("r" (jungseong-ae . (1 4)))
+ ("t" (jungseong-eo . (1 4)))
+ ("y" (choseong-rieul . 1))
+ ("u" (choseong-digeud . (3 5)))
+ ("i" (choseong-mieum . 1))
+ ("o" (choseong-chieuch . 1))
+ ("p" (choseong-pieup . 1))
+ ("[" . "(")
+ ("]" . "<")
+ ("\\" . ":")
+ ("a" (jongseong-ieung . 1))
+ ("s" (jongseong-nieun . 1))
+ ("d" (jungseong-i . (1 4)))
+ ("f" (jungseong-a . (1 4)))
+ ("g" (jungseong-eu . 1))
+ ("h" (choseong-nieun . 1))
+ ("j" (choseong-ieung . 1))
+ ("k" (choseong-giyeog . (3 5)))
+ ("l" (choseong-jieuj . (3 5)))
+ (";" (choseong-bieub . (3 5)))
+ ("'" (choseong-tieut . 1))
+ ("z" (jongseong-mieum . 1))
+ ("x" (jongseong-giyeog . 1))
+ ("c" (jungseong-e . (1 4)))
+ ("v" (jungseong-o . 1))
+ ("b" (jungseong-u . 1))
+ ("n" (choseong-sios . (3 5)))
+ ("m" (choseong-hieuh . 1))
+ ("/" (jungseong-o . 2))
+ ;; Shifted keys
+ ("~" . 8251) ; U+203B, REFERENCE MARK
+ ("!" (jongseong-ssanggiyeog . 5))
+ ("@" (jongseong-rieulgiyeog . 4))
+ ("#" (jongseong-jieuj . 1))
+ ("$" (jongseong-rieulpieup . 4))
+ ("%" (jongseong-rieultieut . 4))
+ ("^" . "=")
+ ("&" . 8220) ; U+201C, LEFT DOUBLE QUOTATION MARK
+ ("*" . 8221) ; U+201D, RIGHT DOUBLE QUOTATION MARK
+ ("(" . "'")
+ (")" . "~")
+ ("_" . ";")
+ ("Q" (jongseong-pieup . 1))
+ ("W" (jongseong-tieut . 1))
+ ("E" (jongseong-nieunjieuj . 4))
+ ("R" (jongseong-rieulhieuh . 4))
+ ("T" (jongseong-rieulsios . 4))
+ ("Y" . "5")
+ ("U" . "6")
+ ("I" . "7")
+ ("O" . "8")
+ ("P" . "9")
+ ("{" . "%")
+ ("}" . "/")
+ ("|" . "\\")
+ ;; ("|" . 8361) ; U+20A9, WON SIGN
+ ("A" (jongseong-digeud . 1))
+ ("S" (jongseong-nieunhieuh . 4))
+ ("D" (jongseong-rieulbieub . 4))
+ ("F" (jongseong-rieulmieum . 4))
+ ("G" (jungseong-yae . 1))
+ ("H" . "0")
+ ("J" . "1")
+ ("K" . "2")
+ ("L" . "3")
+ (":" . "4")
+ ("\"" . 183) ; U+00B7, MIDDLE DOT
+ ("Z" (jongseong-chieuch . 1))
+ ("X" (jongseong-bieubsios . 4))
+ ("C" (jongseong-kieuk . 1))
+ ("V" (jongseong-giyeogsios . 4))
+ ("B" . "?")
+ ("N" . "-")
+ ("M" . "\"")
+ ("<" . ",")
+ (">" . ".")
+ ("?" . "!"))
+
+(byeoru-define-layout byeoru-layout-generous3final
+ ;; Unshifted keys
+ ("`" . "*")
+ ("1" (jongseong-hieuh . (1 4)))
+ ("2" (jongseong-ssangsios . 5))
+ ("3" (jongseong-bieub . (3 4)))
+ ("4" (jungseong-yo . 1))
+ ("5" (jungseong-yu . 1))
+ ("6" (jungseong-ya . 1))
+ ("7" (jungseong-ye . 1))
+ ("8" (jungseong-ui . 4))
+ ("9" (jungseong-u . 3))
+ ("0" (choseong-kieuk . 1))
+ ("-" . ")")
+ ("=" . ">")
+ ("q" (jongseong-sios . (3 4 5)))
+ ("w" (jongseong-rieul . 3))
+ ("e" (jungseong-yeo . 1))
+ ("r" (jungseong-ae . (1 4)))
+ ("t" (jungseong-eo . (1 4)))
+ ("y" (choseong-rieul . 1))
+ ("u" (choseong-digeud . (3 5)))
+ ("i" (choseong-mieum . 1))
+ ("o" (choseong-chieuch . 1))
+ ("p" (choseong-pieup . 1))
+ ("[" . "(")
+ ("]" . "<")
+ ("\\" . ":")
+ ("a" (jongseong-ieung . 1))
+ ("s" (jongseong-nieun . 3))
+ ("d" (jungseong-i . (1 4)))
+ ("f" (jungseong-a . (1 4)))
+ ("g" (jungseong-eu . 3))
+ ("h" (choseong-nieun . 1))
+ ("j" (choseong-ieung . 1))
+ ("k" (choseong-giyeog . (3 5)))
+ ("l" (choseong-jieuj . (3 5)))
+ (";" (choseong-bieub . (3 5)))
+ ("'" (choseong-tieut . 1))
+ ("z" (jongseong-mieum . (1 4)))
+ ("x" (jongseong-giyeog . (3 4 5)))
+ ("c" (jungseong-e . (1 4)))
+ ("v" (jungseong-o . 3))
+ ("b" (jungseong-u . 3))
+ ("n" (choseong-sios . (3 5)))
+ ("m" (choseong-hieuh . 1))
+ ("/" (jungseong-o . 3))
+ ;; Shifted keys
+ ("~" . 8251) ; U+203B, REFERENCE MARK
+ ("!" (jongseong-ssanggiyeog . 5))
+ ("@" (jongseong-rieulgiyeog . 4))
+ ("#" (jongseong-jieuj . (1 4)))
+ ("$" (jongseong-rieulpieup . 4))
+ ("%" (jongseong-rieultieut . 4))
+ ("^" . "=")
+ ("&" . 8220) ; U+201C, LEFT DOUBLE QUOTATION MARK
+ ("*" . 8221) ; U+201D, RIGHT DOUBLE QUOTATION MARK
+ ("(" . "'")
+ (")" . "~")
+ ("_" . ";")
+ ("Q" (jongseong-pieup . (1 4)))
+ ("W" (jongseong-tieut . (1 4)))
+ ("E" (jongseong-nieunjieuj . 4))
+ ("R" (jongseong-rieulhieuh . 4))
+ ("T" (jongseong-rieulsios . 4))
+ ("Y" . "5")
+ ("U" . "6")
+ ("I" . "7")
+ ("O" . "8")
+ ("P" . "9")
+ ("{" . "%")
+ ("}" . "/")
+ ("|" . "\\")
+ ;; ("|" . 8361) ; U+20A9, WON SIGN
+ ("A" (jongseong-digeud . 1))
+ ("S" (jongseong-nieunhieuh . 4))
+ ("D" (jongseong-rieulbieub . 4))
+ ("F" (jongseong-rieulmieum . 4))
+ ("G" (jungseong-yae . 1))
+ ("H" . "0")
+ ("J" . "1")
+ ("K" . "2")
+ ("L" . "3")
+ (":" . "4")
+ ("\"". 183) ; U+00B7, MIDDLE DOT
+ ("Z" (jongseong-chieuch . 1))
+ ("X" (jongseong-bieubsios . 4))
+ ("C" (jongseong-kieuk . 1))
+ ("V" (jongseong-giyeogsios . 4))
+ ("B" . "?")
+ ("N" . "-")
+ ("M" . "\"")
+ ("<" . ",")
+ (">" . ".")
+ ("?" . "!"))
+
+(byeoru-define-layout byeoru-layout-strict390
+ ;; Unshifted keys
+ ("1" (jongseong-hieuh . 1))
+ ("2" (jongseong-ssangsios . 5))
+ ("3" (jongseong-bieub . (1 4)))
+ ("4" (jungseong-yo . 1))
+ ("5" (jungseong-yu . 1))
+ ("6" (jungseong-ya . 1))
+ ("7" (jungseong-ye . 1))
+ ("8" (jungseong-ui . 4))
+ ("9" (jungseong-u . 2))
+ ("0" (choseong-kieuk . 1))
+ ("q" (jongseong-sios . (1 4)))
+ ("w" (jongseong-rieul . 3))
+ ("e" (jungseong-yeo . 1))
+ ("r" (jungseong-ae . (1 4)))
+ ("t" (jungseong-eo . (1 4)))
+ ("y" (choseong-rieul . 1))
+ ("u" (choseong-digeud . (3 5)))
+ ("i" (choseong-mieum . 1))
+ ("o" (choseong-chieuch . 1))
+ ("p" (choseong-pieup . 1))
+ ("a" (jongseong-ieung . 1))
+ ("s" (jongseong-nieun . 3))
+ ("d" (jungseong-i . (1 4)))
+ ("f" (jungseong-a . (1 4)))
+ ("g" (jungseong-eu . 1))
+ ("h" (choseong-nieun . 1))
+ ("j" (choseong-ieung . 1))
+ ("k" (choseong-giyeog . (3 5)))
+ ("l" (choseong-jieuj . (3 5)))
+ (";" (choseong-bieub . (3 5)))
+ ("'" (choseong-tieut . 1))
+ ("z" (jongseong-mieum . 1))
+ ("x" (jongseong-giyeog . 3))
+ ("c" (jungseong-e . (1 4)))
+ ("v" (jungseong-o . 1))
+ ("b" (jungseong-u . 1))
+ ("n" (choseong-sios . (3 5)))
+ ("m" (choseong-hieuh . 1))
+ ("/" (jungseong-o . 2))
+ ;; Shifted keys
+ ("!" (jongseong-jieuj . (1 4)))
+ ("Q" (jongseong-pieup . (1 4)))
+ ("W" (jongseong-tieut . (1 4)))
+ ("E" (jongseong-kieuk . 1))
+ ("R" (jungseong-yae . 1))
+ ("T" . ";")
+ ("Y" . "<")
+ ("U" . "7")
+ ("I" . "8")
+ ("O" . "9")
+ ("P" . ">")
+ ("A" (jongseong-digeud . 1))
+ ("S" (jongseong-nieunhieuh . 4))
+ ("D" (jongseong-rieulgiyeog . 4))
+ ("F" (jongseong-ssanggiyeog . 5))
+ ("G" . "/")
+ ("H" . "'")
+ ("J" . "4")
+ ("K" . "5")
+ ("L" . "6")
+ ("Z" (jongseong-chieuch . 1))
+ ("X" (jongseong-bieubsios . 4))
+ ("C" (jongseong-rieulmieum . 4))
+ ("V" (jongseong-rieulhieuh . 4))
+ ("B" . "!")
+ ("N" . "0")
+ ("M" . "1")
+ ("<" . "2")
+ (">" . "3"))
+
+(byeoru-define-layout byeoru-layout-generous390
+ ;; Unshifted keys
+ ("1" (jongseong-hieuh . (1 4)))
+ ("2" (jongseong-ssangsios . 5))
+ ("3" (jongseong-bieub . (3 4)))
+ ("4" (jungseong-yo . 1))
+ ("5" (jungseong-yu . 1))
+ ("6" (jungseong-ya . 1))
+ ("7" (jungseong-ye . 1))
+ ("8" (jungseong-ui . 4))
+ ("9" (jungseong-u . 3))
+ ("0" (choseong-kieuk . 1))
+ ("q" (jongseong-sios . (3 4 5)))
+ ("w" (jongseong-rieul . 3))
+ ("e" (jungseong-yeo . 1))
+ ("r" (jungseong-ae . (1 4)))
+ ("t" (jungseong-eo . (1 4)))
+ ("y" (choseong-rieul . 1))
+ ("u" (choseong-digeud . (3 5)))
+ ("i" (choseong-mieum . 1))
+ ("o" (choseong-chieuch . 1))
+ ("p" (choseong-pieup . 1))
+ ("a" (jongseong-ieung . 1))
+ ("s" (jongseong-nieun . 3))
+ ("d" (jungseong-i . (1 4)))
+ ("f" (jungseong-a . (1 4)))
+ ("g" (jungseong-eu . 3))
+ ("h" (choseong-nieun . 1))
+ ("j" (choseong-ieung . 1))
+ ("k" (choseong-giyeog . (3 5)))
+ ("l" (choseong-jieuj . (3 5)))
+ (";" (choseong-bieub . (3 5)))
+ ("'" (choseong-tieut . 1))
+ ("z" (jongseong-mieum . (1 4)))
+ ("x" (jongseong-giyeog . (3 4 5)))
+ ("c" (jungseong-e . (1 4)))
+ ("v" (jungseong-o . 3))
+ ("b" (jungseong-u . 3))
+ ("n" (choseong-sios . (3 5)))
+ ("m" (choseong-hieuh . 1))
+ ("/" (jungseong-o . 3))
+ ;; Shifted keys
+ ("!" (jongseong-jieuj . (1 4)))
+ ("Q" (jongseong-pieup . (1 4)))
+ ("W" (jongseong-tieut . (1 4)))
+ ("E" (jongseong-kieuk . 1))
+ ("R" (jungseong-yae . 1))
+ ("T" . ";")
+ ("Y" . "<")
+ ("U" . "7")
+ ("I" . "8")
+ ("O" . "9")
+ ("P" . ">")
+ ("A" (jongseong-digeud . 1))
+ ("S" (jongseong-nieunhieuh . 4))
+ ("D" (jongseong-rieulgiyeog . 4))
+ ("F" (jongseong-ssanggiyeog . 5))
+ ("G" . "/")
+ ("H" . "'")
+ ("J" . "4")
+ ("K" . "5")
+ ("L" . "6")
+ ("Z" (jongseong-chieuch . 1))
+ ("X" (jongseong-bieubsios . 4))
+ ("C" (jongseong-rieulmieum . 4))
+ ("V" (jongseong-rieulhieuh . 4))
+ ("B" . "!")
+ ("N" . "0")
+ ("M" . "1")
+ ("<" . "2")
+ (">" . "3"))
+
+(byeoru-define-layout byeoru-layout-no-shift
+ ;; Unshifted keys
+ ("`" . 183)
+ ("1" (jongseong-hieuh . (1 4)))
+ ("2" (jongseong-ssangsios . 5))
+ ("3" (jongseong-bieub . (3 4)))
+ ("4" (jungseong-yo . 1))
+ ("5" (jungseong-yu . 1))
+ ("6" (jungseong-ya . 1))
+ ("7" (jungseong-ye . 1))
+ ("8" (jungseong-ui . 4))
+ ("9" (choseong-kieuk . 1))
***The diff for this file has been truncated for email.***