• You are not logged in.

    Vietnamese Colemak

    • Started by DreymaR
    • 18 Replies:
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360
    Locale Colemak variant for Tiếng Việt (Vietnamese)!?

    Over at the Colemak Discord channel, icedryst and I've had some interesting discussions about Vietnamese script!

    Chữ Việt (Vietnamese script), formally named Chữ Quốc Ngữ, is really interesting: Albeit a latin script, it uses multiple accents which poses an interesting layout challenge. The reason for this is that the language has more vowels than the basic latin alphabet. The extra ones are ÂÊÔ (using the circumflex accent), ƠƯ (using horn) and Ă (using breve). All vowels may have one of five accents ( ´ `  ̉ . ~ or acute/grave/horn_above/dot_below/tilde), making combos like Ợ and Ấ commonplace.

    Personally, I'd think that it'd be easier to use special basis letters like for instance ƗɨØøɄʉ or αε instead of creating more vowels with accents and then putting another accent on top of that! If special care isn't taken to avoid accent collisions in typography, it can even be ugly and hard to read. But that can't be helped now I guess, it is what it is.

    Since this is a bit complex, the Vietnamese use an Input Method Editor (IME), using a Compose method allowing you to write a letter combo to get a special letter. As seen below, the Telex (or VNI in the North) method is the most common, and as seen below and in this post by Tony_VN the Unikey program is used on Windows. That works, but it isn't perfect. More on that later!

    Here are some notes on the language/script from that thread:

    IceDryst said:
    Notes about Vietnamese script (from IceDryst)
    =============================================
    
    There are 12 basic vowel letters and one special consonant:
    a â ă / đ / e ê / i / o ô ơ / u ư / y
    
    There are five accent tones:
    Rising  (ú) 	Rising  glottalized (ũ) 	Dipping-rising (ủ) 
    Falling (ù) 	Falling glottalized (ụ)
    
    These are all the vowel/accent combinations:
    a á à ả ã ạ		â ấ ầ ẩ ẫ ậ		ă ắ ằ ả ẵ ặ
    e é è ẻ ẽ ẹ		ê ế ề ể ễ ệ		i í ì ỉ ĩ ị
    o ó ò ỏ õ ọ		ô ố ồ ổ ỗ ộ		ơ ớ ờ ở ỡ ợ
    u ú ù ủ ũ ụ		ư ứ ừ ử ữ ự		y ý ỳ ỷ ỹ ỵ
    
    The Telex method for entry with Latin letters:
    - â = aa    ă = aw  |   ´ = s   (1 w/ VNI)
    - đ = dd            |   ` = f   (2 --"-- )
    - ê = ee            |   ̉  = r   (3 --"-- )
    - ô = oo    ơ = ow  |   ~ = x   (4 --"-- )
    -           ư = uw  |   . = j   (5 --"-- )
    
    - The letters sfrxjw after a vowel are entered by repeating them.
    - Delete last accent: z.
    - In sum: as = á, asz = a, ass = as, aza = aa(?)
    
    - A Vietnamese word is usually in the form (Consonant)-vowels-(consonant).
    - Some words don't have any consonants: E.g., "ao" means "lake", "ai" = "who" etc.
    - The letters F Z J W aren't used in Vietnamese; S R X don't appear at the end of words.
    
    - Telex more popular in the North, VNI in the south.
    - If someone care about Colemak they will with 99% certainty use TELEX beforehand.
    - Vietnamese use standard ANSI keyboards with an Input Method Editor (IME), not special hardware.
    - For Windows, Unikey is almost exclusively used. Doesn't work well with PKL (keyboard hook trouble?).
    
    - Telex is faster, but harder to type mixed with English words. You may switch back and forth with a hotkey.
    - The Telex method uses same-finger bigram entry of âêôđ and sfrxjw (after a vowel) which is bad.
    - Typing 'aw' for ă isn't so comfy either even though that letter is rareish.
    - Telex can take some getting used to for the newcomer!

    I was fascinated, and followed a link to a Vietnamese letter frequency page by Stefan Trost Media. There I started analyzing, and ended up getting Stefan's blessing to use his data to try making a Vietnamese Colemak variant!

    Here are my observations of his data, should anyone be interested:

    Spoiler:
    Stefan Trost said:
    Tiếng Việt special letter frequencies:
    ======================================
    
    • This list was based on Vietnamese texts with altogether 1.649.178 characters (365.324 words).
        1.228.528 characters were used for the counting.
    • The texts consist of a good mix of different literary genres. 
        Of course, if other texts were used as a basis, the result would be slightly different.
    • The list may only be used together with the internet adress stefantrost.de and prior consent.
    • Address: https://www.sttmedia.com/characterfrequency-vietnamese
    
    Most common:
    freq.(%):   11     3     2           1           0.5
                NHCTIGAĐMÀUROVLÔƯSBEYKÓÁPỘDỦẾẠÃỚÊỜỂẢỢÌ
    Special:           đ à     ôư     óá ộ ủếạãớêờểảợì
    
    Frequencies of normal and special/accented letters:
    N	11,0%	H	7,95%	C	6,71%	T	6,60%	I	5,71%	G	5,29%	A	3,73%
    Đ	3,09%	M	2,97%	U	2,42%	R	2,32%	O	2,32%	V	2,12%	L	1,90%
    S	1,56%	B	1,50%	E	1,45%	Y	1,39%	K	1,32%	P	1,06%	D	0,88%
    Q	0,34%	X	0,33%	J	0,14%	F	0,12%	W	0,10%	Z	0,04%
    
    À	2,47%	Á	1,20%	Ạ	0,78%	Ã	0,68%	Ả	0,58%	
    Ô	1,67%	Ộ	0,99%	Ố	0,66%	Ồ	0,16%	Ổ	0,14%	Ỗ	0,06%	Õ	0,02%
    Ư	1,59%				Ữ	0,33%	Ự	0,29%	Ứ	0,27%	Ừ	0,19%	Ử	0,12%	
    Ó	1,24%				Ọ	0,42%	Ò	0,15%	Ỏ	0,12%	
    Ế	0,79%	Ê	0,61%	Ể	0,59%	Ề	0,39%	Ệ	0,34%	Ễ	0,06%	
    >			Ủ	0,86%	Ú	0,25%	Ụ	0,18%	Ù	0,11%	Ũ	0,10%	
    >			Ớ	0,63%	Ờ	0,59%	Ợ	0,58%	Ơ	0,32%	Ở	0,29%	Ỡ	0.03%
    >			Ấ	0,63%	Ầ	0,42%	Â	0,41%	Ậ	0,32%	Ẫ	0,07%	Ẩ	0,04%
    >			Ì	0,54%	Í	0,26%	Ị	0,21%	Ỉ	0,13%	Ĩ	0,08%
    >>			Ắ	0,28%	Ă	0,23%	Ặ	0,22%	Ằ	0,18%	Ẳ	0,02%	Ẵ	0,01%
    >>>						Ẽ	0,18%	Ẹ	0,11%	É	0,07%	Ẻ	0,05%	È	0,02%
    >>>									Ý	0,10%	Ỳ	0,03%	Ỹ	0,02%	Ỷ	0,01%
    The appearances of ÄÜÖ (0,01–0,02%) and JFWZ (0,04–0,14%) are from loan words in the texts.
    
    Frequencies by accent and letter:
    ´:	6.38 = 1.20 + 0.63 + 0.28 + 0.66 + 1.24 + 0.63 + 0.27 + 0.25 + 0.79 + 0.26 + 0.07 + 0.10
    `:	5.25 = 2.47 + 0.42 + 0.18 + 0.16 + 0.15 + 0.59 + 0.19 + 0.11 + 0.39 + 0.54 + 0.03 + 0.02
    .:	4.44 = 0.78 + 0.32 + 0.22 + 0.99 + 0.42 + 0.58 + 0.29 + 0.18 + 0.34 + 0.21 + 0.11
    ?:	2.93 = 0.58 + 0.14 + 0.12 + 0.29 + 0.12 + 0.86 + 0.59 + 0.13 + 0.05 + 0.04 + 0.01
    ~:	1.62 = 0.68 + 0.07 + 0.06 + 0.33 + 0.10 + 0.06 + 0.08 + 0.18 + 0.03 + 0.02 + 0.01
    
    ô:	3.68 = 1.67 + 0.99 + 0.66 + 0.16 + 0.14 + 0.06
    đ:	3.09
    ư:	2.79 = 1.59 + 0.33 + 0.29 + 0.27 + 0.19 + 0.12
    ê:	2.78 = 0.79 + 0.61 + 0.59 + 0.39 + 0.34 + 0.06
    ơ:	2.44 = 0.63 + 0.59 + 0.58 + 0.32 + 0.29 + 0.03
    â:	1.89 = 0.63 + 0.42 + 0.41 + 0.32 + 0.07 + 0.04
    ă:	0.92 = 0.28 + 0.23 + 0.22 + 0.18 + 0.01

    Observations:
    - The accents are all common: Acute, grave, dot_below, horn_above, tilde (á à ạ ả ã).
    - Most base special letters are common: ô đ ư ê ơ â ơ. Less common: ă.

    Making a Vietnamese Colemak[eD]

    For Windows and Linux, the Colemak[eD] layout has all the dead key functionality needed to type Vietnamese. For instance, to type ự I'll type AltGr+3,1 then u. This works okay for separate words, but I don't think that it's practical enough for typing Vietnamese text: The common accents are mostly on AltGr+<number row key> which is a bit out of the way.

    Standard Colemak[eD] accents needed for Tiếng Việt typing (all with AltGr+<key>):
    1   ọ       2   ỏ
    3   ơ       6   ô
    9   ă       '   ó
    \   ò       /   đ

    Currently, PortableKeyboardLayout (PKL) for Windows doesn't support the Telex method but it may soon. Today it seems that you can't use PKL with Unikey which is a shame as you won't get Extend and all that other goodness then! I'd like PKL to support both Telex and a Colemak[eD] Vietnamese variant.

    I realize that most Vietnamese typists are used to the Telex method and won't want to change. But since you're reading this, you've proven that you're interested in going further that most. ;-)

    My vision is, like with my other Colemak locale variants, to keep Colemak intact so you can type English with it while facilitating Vietnamese typing too! And if possible, more ergonomic than Telex. A tall order, but let's try! ^_^

    Proposals for Colemak[eD]-Vi
    - A special letter key for, e.g., Ôô? Common, but seems almost unfair to the many others...?
        - Could use the VK_102 ISO key for that. Problem: Most Vietnamese don't have an ISO keyboard!
    - AltGr+adeu for âđêư. AltGr+w for ă.
    - O is more tricky. AltGr+o for ô, AltGr+y or AltGr+i for ơ ?
        - The i position is right next to o, but y is a less common vowel which may help here.
        - Since ơi is a common bigram, it's better to have ơ on y and use the middle finger for ơ in ơi.
    - Consider specific bigrams, particularly with accented êơư!
        - Easy 'e, easy 'o, okay 'u
        - Easy ;e, easy ;u, hard ;o – but ỡ is _very_ rare!
        - Easy .e, okay .u, okay .o
        - Easy ,o, hard ,u, hard ,e – and ể is 0.6%. Should not use the comma dead key then!
        - Easy 'y, easy ;y, okay .y (w/ alt. fingering); the same with i.

    - Could reuse the good acute dead key from Colemak[eD]. It's the most common, but we need 4 more.
    - Swap some dead keys w/ the eD ones to make them more accessible? But that's a bit confusing.
        - tilde and diaeresis (~ ;)?
        - dot_below and dot_above (! .)?

    My suggestion for now:

    Letters:
    ========
      đ     on AltGr+ d (or VK_102 if you have an ISO keyboard)
      â ê ô on AltGr+ a e o
      ơ ư   on AltGr+ y u
      ă     on AltGr+ w
      
    Accents:
    ========
      ´` on [] brackets - intuitive rising/falling pattern; easy to hit
      ~. on {} braces   - these are rising/falling too (but glottalized)
      ?  on AltGr-'     - easy reach
    
    Having the common accents on brackets and using RAlt(AltGr) a lot, a Wide ergo mod is recommended!
    
    Maybe it's better to have ~. accents on AltGr+brackets instead; see below.

    Again, one problem may be that Vietnamese typists aren't used to the AltGr key (on RAlt). Particularly when using a Wide mod, it's very nice I think. But it's somewhat of a taste thing I guess.

    A real hurdle is that people are used to thinking vowel-accent and not accent-vowel when spelling: B-a-`-n = Bàn; T-i-ê-´-n = Tiến etc. So dead keys will take some getting used to.

    Composing like the Telex method has its advantages too, but less so when it uses same-finger bigrams and not when you need to write a mix of non-Vietnamese and Vietnamese words.

    One suggestion is an improved "Telex" way, avoiding the same-finger bigrams and other problems! It's an interesting thought, but I honestly don't think it'd become popular since the standard Telex method is so ingrained. And the problem of switching method would still persist.

    So, what do the people think? Chime in, please! Not in Tiếng Việt though, as I don't actually know this fascinating language! ^_^

    [edit: Accents suggestion v2; Special dead keys]
    I think that shifted accents likely isn't good enough for tilde and dot_below, as they're common and a complex pattern of shifting and using AltGr gets confusing.

    Accents v2:
    ==========
      ´` on [] brackets
      ~. on , . (dual-role dead key)
      ?  on ;    --"--
     (Or would it be better with tilde on semicolon and hook on comma? ~. are related as up/down, like ´` are. But comfort above all!)
    
    The idea would be that semicolon, comma and period release their base char when not modifying vowels. PKL can support this.
    
    For writing sequences of these symbols, their base versions should also be available. These could be on AltGr+<key>.
    
    Even though ,u and ,e aren't so comfy bigrams as such, they aren't so bad if the comma is unmodified.

    A downside to that is that it's harder to implement outside of PKL. Not sure how to do it with XKB. Might be okay for MSKLC.

    [edit 2018-07: Accent suggestion v3–4; AltGr + good left-hand keys]
    We're still working on this, testing out variants to see what works best. Getting rid of the same-key bigrams and making something that works both for English and Việt still seems like a worthy cause!

    * Special letters are on AltGr(RAlt) plus letters A D E I O Y W (I and Y are duplicates, to test which one is better)
    * Version 1: Accents ´`?~. are on bracket keys as well as AltGr (or Shift) plus brackets and '
    * Version 2: Accents ´`?~. are on bracket keys and ; , . as special dual-function dead keys releasing the base character.
    * Version 3: Accents ´`?~. are on AltGr plus S T R F P. For SR this coincides with Telex; the rest is geometric/ergonomic.
    * Version 4: Accents ´`?~. are on bracket keys as well as AltGr plus R S T.

    So, the latest version goes like this then:

    Letters:
    ========
      đ     on AltGr+ d
      â ă   on AltGr+ a w
      ê ô   on AltGr+ e o
      ơ ư   on AltGr+ i u
    
    Accents v4:
    ==========
      ´ `   on [ ] unmodified brackets
      ~ .   on AltGr+ s t
      ?     on AltGr+ r
    
    (Version 3 had ~ . on f p, with ´ ` on s t.)
    It seems to me that this will produce little conflict with the normal and special vowels, but some testing remains.

    [Update:]
    I can now generate help images for any layout in PKL, so here's what the proposed layout looks like now. Note the redundancies on Colemak FP/ST, Y/I and R/apostrophe; in the testing phase these are/were still being evaluated.

    state6.png

    Last edited by DreymaR (13-Aug-2018 09:05:52)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    [Placeholder for a possible expansion post]

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Apr-2018
    • Posts: 7

    personally tried AltGr + vowels  and it's hard. The right thumb feels awkward
    í ám júst trü ít ín thís sénténcé, yeah definely awkward, at least on not-wide keyboard ... Maybe it's better on wide layout?

    Thé upside is you can type English with this, still I think it's not worth it moving the accents to [ ]{} altgr+'

    As for switching English and Vietnamese Mode I could see altgr+space as "insersting space and switch mode".

    Too soon to tell at maybe I just haven't tried it hard enough.

    Last edited by icedryst (10-Apr-2018 10:15:57)
    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    I whipped up a PKL file for this and it seems okay so far!

    Here are the changes in layout.ini – these are for a CurlAngleWide layout so a non-ergomodded one will have different SC###:

    ;SC011 = W	1	w	W	--	‘	“	; QWERTY wW
    SC011 = W	5	w	W	--	ă	Ă	; QWERTY wW, Cmk-eD-Vi wW ăĂ
    
    ;SC015 = OEM_6	4	[	{	*{Esc}	å	Å	; QWERTY [{ ; Cmk-eD_ISO
    ;SC015 = OEM_6	0	dk15	dk14	*{Esc}	[	{	; QWERTY [{ ; Cmk-eD-Vi - dk ´~ - ISO
    ;SC015 = OEM_4	0	dk15	dk14	*{Esc}	[	{	; QWERTY [{ ; Cmk-eD-Vi - dk ´~ - ANSI
    SC015 = OEM_4	0	dk15	[	*{Esc}	dk14	{	; QWERTY [{ ; Cmk-eD-Vi - dk ´~ - ANSI
    
    ;SC018 = U	1	u	U	--	‹	«	; QWERTY iI
    SC018 = U	5	u	U	--	ư	Ư	; QWERTY iI, Cmk-eD-Vi uU ưƯ
    
    ;SC019 = Y	1	y	Y	--	›	»	; QWERTY oO
    SC019 = Y	5	y	Y	--	ơ	Ơ	; QWERTY oO, Cmk-eD-Vi yY ơƠ
    
    ;SC01e = A	1	a	A	--	đ	α	; QWERTY aA
    SC01e = A	5	a	A	--	â	Â	; QWERTY aA, Cmk-eD-Vi aA âÂ
    
    ;SC023 = OEM_1	0	]	}	--	æ	Æ	; QWERTY ]} ; Cmk-eD_ISO
    ;SC023 = OEM_1	0	dk16	dk01	--	]	}	; QWERTY ]} ; Cmk-eD-Vi - dk `. - ISO
    ;SC023 = OEM_6	0	dk16	dk01	--	]	}	; QWERTY ]} ; Cmk-eD-Vi - dk `. - ANSI
    SC023 = OEM_6	0	dk16	]	--	dk01	}	; QWERTY ]} ; Cmk-eD-Vi - dk `. - ANSI
    
    ;SC026 = E	1	e	E	--	€	←	; QWERTY kK
    SC026 = E	5	e	E	--	ê	Ê	; QWERTY kK, Cmk-eD-Vi eE êÊ
    
    ;SC028 = O	1	o	O	--	º	ª	; QWERTY ;:
    SC028 = O	5	o	O	--	ô	Ô	; QWERTY ;:, Cmk-eD-Vi oO ôÔ
    
    ;SC02b = OEM_7	0	'	"	--	dk15	′	; QWERTY '"" - dk_acute/superscript
    SC02b = OEM_7	0	'	"	--	dk02	′	; QWERTY '"" ; Cmk-eD-Vi - dk_hookabove
    
    ;SC02e = D	5	d	D	--	ð	Ð	; QWERTY vV, Cmk-DH dD
    SC02e = D	5	d	D	--	đ	Đ	; QWERTY vV, Cmk-DH-Vi dD đĐ

    A few glyphs went M.I.A. this way, but nothing too important I think. Maybe the left arrow needs a need home.

    Note that for an ANSI board/layout the bracket keys are OEM_4 and OEM_6 but 6/1 on ISO. I know, it's confusing...!

    I do think that you'd have to use this for a while to get used to it! It's a fairly ingrained thing, like the layout itself. Maybe it'd be good to handle accents and special letters separately for a while before trying to combine them.

    I see that combos like ỡ and ự are a bit tricky: First Shift+<bracket> then AltGr+<letter>, that's an exercise. One possible way would be to use brackets and AltGr+brackets instead of Shift+brackets. Then some combos would be easier, like ự would be just AltGr+<bracket then letter>. But it still takes practice to hold and release AltGr at the right times! For capital letters it'll be even more confusing I guess, but it's possible to get used to.

    SC015 = OEM_4	0	dk15	[	*{Esc}	dk14	{	; QWERTY [{ ; Cmk-eD-Vi - dk ´~ - ANSI
    SC023 = OEM_6	0	dk16	]	--	dk01	}	; QWERTY ]} ; Cmk-eD-Vi - dk `. - ANSI
    Last edited by DreymaR (11-Apr-2018 10:16:21)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Apr-2018
    • Posts: 7

    Hmm now I'm excited to see if this work. Any estimated time for a beta version?

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    You'd want a version for the ANSI keyboard, right? What's your preference about CurlAngle and Wide mods? All vanilla, or tempted to try a forbidden flavour? ;-)

    I swear to make ergo mods and suchlike work independently of the rest one day! But for now, PKL_eD isn't there yet.

    Last edited by DreymaR (10-Apr-2018 17:51:15)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Apr-2018
    • Posts: 7

    I think vanilla, I don't want to remove key from my friend keyboard.

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    Okay my friend, try this:
    • Get the newest PKL_eD from my github repo ("Cmk[eD]-Viet-β added")
    • Rename Layouts/Colemak-eD_ANSI/layout_Cmk-Vi.ini to layout.ini
    • Rename pkl_ANSI_NoErgoMods.ini to pkl.ini
    • Edit it so...
        – the line starting with 'layout = vk_Tarmak1E_ANSI' is commented out, and
        – the line with ';layout = colemak-eD_ANSI:' (not 'vk_colemak_ANSI'!) is uncommented
    • Copy the DreymaR_layout.ini file from the Colemak-eD_ISO-CurlAWide-Sl to the Colemak-eD_ANSI layout

    Now when you start PKL_eD.exe you should hopefully have the beta test version of Colemak-Viet running! Remember:
    • It'll probably conflict with Unikey so you may have to quit that
    • The help images (Ctrl+Shift+1) aren't updated to show Cmk[eD]-Viet but show normal Cmk[eD]
    • I went for the version with the ~. accents on AltGr+<brackets>. To try the other one, you have to edit the layout.ini file.

    Good luck with the testing!

    Not sure, but we may have to rethink the ~. accents. Not sure what to do instead though.

    Last edited by DreymaR (11-Apr-2018 10:38:58)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Apr-2018
    • Posts: 7

    The ' ` ? ~ . accents part doesn't work, they just add a white space

    I have 2 input methods installed:
    image.png

    The AltGr doesn't work with the qwerty ENG US (look like the ENG US layout takes the right alt as regular alt), it does work with English (US) Colemak input though

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    Yes, that's true. The US English Windows layout doesn't have an AltGr key. You could use UK English instead, or find the place in pkl.ini where you can state that "Right Alt works as AltGr". It should also work with the Colemak installed layout as you noted, but that has some dead keys which may confuse PKL.

    Really not sure why the ~. accents wouldn't work for you though! Do AltGr+` and AltGr+1 work? Did you press AltGr+<brackets> for the accents?

    If the current accent keys prove untenable I'll have to think of something else. One idea is a partial Telex method, in which you use AltGr for special vowels (avoiding same-finger) but the Telex method still works! I'd have to make PKL support Telex then since it can't coexist with Unikey. But I think that's doable.

    With my dead keys still active, one could then write a few Vietnamese words without switching method when that's desirable, but switch to Telex for longer bouts of Chữ Quốc Ngữ!

    Last edited by DreymaR (11-Apr-2018 10:03:32)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Apr-2018
    • Posts: 7

    Really not sure why the ~. accents wouldn't work for you though! Do AltGr+` and AltGr+1 work? Did you press AltGr+<brackets> for the accents?

    tried all that but it doesn't work, it just adds a space.

    Also the AltGr+d is now ð, is shoud be đ

    Last edited by icedryst (11-Apr-2018 10:05:28)
    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    Even for the ´` accents on unmodified brackets? Because they all worked fine for me.

    Did you edit the AltGr setting in pkl.ini then rerun PKL?

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Apr-2018
    • Posts: 7

    Also the AltGr+d is now ð, is shoud be đ
    Yeah I did. The [ ] unmodified still don't do anything, only adds a white space

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    Sorry, I forgot about the ð→đ. I fixed it and amended the repo (bad practice but bear with it) so if you get the layout_Cmk-Vi.ini file afresh it should have AltGr+d right.

    I think I understand what I did wrong with the accents: In PKL_eD I've moved the dead key tables to a central file in the PKL_eD directory! You must either copy the DreymaR_layout.ini file I keep in the Colemak-eD_ISO-CurlAWide-Sl dir over to the Colemak-eD_ANSI one (preferable) or copy the dead key tables from PKL_eD\_eD_DeadKeys.ini over to your layout.ini file.

    Sorry about that mess. It's a part of making things less messy in the end, but for now it's more messy. Ugh.

    Last edited by DreymaR (11-Apr-2018 10:28:19)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Apr-2018
    • Posts: 7
    DreymaR said:

    Sorry, I forgot about the ð→đ. I fixed it and amended the repo (bad practice but bear with it) so if you get the layout_Cmk-Vi.ini file afresh it should have AltGr+d right.

    I think I understand what I did wrong with the accents: In PKL_eD I've moved the dead key tables to a central file in the PKL_eD directory! You must either copy the DreymaR_layout.ini file I keep in the Colemak-eD_ISO-CurlAWide-Sl dir over to the Colemak-eD_ANSI one (preferable) or copy the dead key tables from PKL_eD\_eD_DeadKeys.ini over to your layout.ini file.

    Sorry about that mess. It's a part of making things less messy in the end, but for now it's more messy. Ugh.

    It works now.
    hmm the accents ´` ̉ ~  ̣ must be typed after the vowels though
    Currently

    Bàn Phím is B]an Ph[im, while it should be Ba]n Phi[m

    Last edited by icedryst (11-Apr-2018 10:38:33)
    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    No, sorry, that's not how dead keys work! In Linux you have compose sequences where some combos make some results and then the sequence is more freely configurable (you could even easily have <key1>-<key2> produce something else than <key2>-<key1>), but the usual way in Windows is to have some keys work as "dead": They don't produce output until released.

    So the dead key way is to press the accent you want and then the key you want to have that accent. I don't think one way is better than the other, it's a matter of habit.

    To make an IME like the one you're used to, I'd have to actually make the vowels into dead keys! This is unusual, but it should be doable. But if we do that it'll cause trouble with something I'm sure, so then it'd have to be more of a dedicated Vietnamese IME layout and not a layout that safely allows everything. (It'd also require some more tinkering with the PKL source code, but I'll get around to that bit.)

    Last edited by DreymaR (11-Apr-2018 11:01:24)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    Here's a crazyish idea: What if, say, the comma and dot or semicolon and apostrophe keys (unmodified) were dead keys for ~ and . accents?

    Usually one will type space after comma or period, but in this case if I typed for instance ơ after period it'd end up as ợ instead. An interesting thought...

    That'd suck if you need to type strings of periods or commas; this can happen so it wouldn't be a perfect solution. But it might make typing nice.

    One remedy would be to add a normal period/comma/semicolon on AltGr+<key>. Then you'd have the normal versions too, just a bit more hidden away.

    I made a new commit to the repo to test this too.

    Note: PKL escapes every unrecognized combo as the base char plus the other letter which is desirable for this method. But that means that the space escape (the entry for 32 = ) must be removed from the dead key table.

    Last edited by DreymaR (12-Apr-2018 14:34:23)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    Summary so far:
    • AltGr and Windows dead keys takes a bit of getting used to, but it's doable
    • AltGr for special letters works reasonably well
    • Brackets for the ´ ` accents works, and is in line with some other Colemak[eD] locale layouts
    • For the remaining accents, using specialized dead keys is too intrusive
    • Probably better to have the three remaining accents on AltGr plus nice left-hand keys?
    • AltGr + R S T seems particularly ergonomic and unintrusive for this purpose

    Last edited by DreymaR (02-Jul-2018 13:02:31)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,360

    Interesting news: With the new Help Image Generator it's now easier to visualize the Work-In-Progress layouts!

    Check the Colemak-eD-Vi_ANSI_WIP folder at my GitHub repo for some views of the layout we're making!

    state6.png

    In the above image, it's the two middle rows that are interesting. The rest are just the usual Cmk-eD keys.

    If you desire a complete image, you must pair this one with a background showing the actual (ANSI) keys; those are in the PKL_eD\BackgroundImg folder.

    Last edited by DreymaR (13-Aug-2018 08:56:58)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0