kalamine icon indicating copy to clipboard operation
kalamine copied to clipboard

Dead keys in the `1dk` layer ?

Open fabi1cazenave opened this issue 1 year ago • 7 comments

It’s now a bit unclear whether dead keys are accepted in the 1dk layer or not.

As a matter of fact, I’ve never put much effort in maintaining this feature because I believe Compose makes much more sense than any double dead key. But I’ve revised my opinion, mostly because of @Ced-C ’s idea of having a dead key in 1dk 1dk instead of Shift+1dk for Bépolar.

Right now it seems to me that :

  • the Linux output supports dead keys in the 1dk layer seamlessly
  • the macOS output is broken when the 1dk layer has dead keys
  • the Windows output should work, but I would expect something tricky for having a dead key in 1dk 1dk

We should either make sure this feature works everywhere or ban it explicitly.

fabi1cazenave avatar Dec 30 '23 21:12 fabi1cazenave

On mac, it’s as simple as adding <when state="1dk" next="diaeresis" />

ergol.keylayout.txt

diff --git a/0_99_2/ergol.keylayout b/0_99_2/ergol.keylayout
index bbc2aff..3425634 100644
--- a/0_99_2/ergol.keylayout
+++ b/0_99_2/ergol.keylayout
@@ -707,6 +707,7 @@
   <actions>
     <action id="dead_1dk">
       <when state="none" next="1dk" />
+      <when state="1dk" next="diaeresis" />
     </action>
     <action id="dead_diaeresis">
       <when state="none" next="diaeresis" />

robinmoussu avatar Dec 31 '23 16:12 robinmoussu

[EDIT] adding this snippet that you put in another issue (#56)

diff --git a/0_99_2/ergol.keylayout b/0_99_2/ergol.keylayout
index 3425634..fc4c137 100644
--- a/0_99_2/ergol.keylayout
+++ b/0_99_2/ergol.keylayout
@@ -1356,7 +1356,7 @@
   </actions>

   <terminators>
-    <when state="1dk"        output="*¨" />
+    <when state="1dk"        output="*" />
     <when state="grave"      output="`" />
     <when state="acute"      output="´" />
     <when state="circumflex" output="^" />

ergol.keylayout.txt

fabi1cazenave avatar Dec 31 '23 16:12 fabi1cazenave

Looks like double dead keys are difficult to support on Windows :

  • MSKLC doesn’t support them
  • KbdEdit does, but…
    • some apps don’t support KbdEdit layouts and require an MSKLC one
    • during a system update, KbdEdit layouts may be erased from the registry (and require a re-install)

https://bepo.fr/wiki/Windows#Probl%C3%A8mes_avec_certains_logiciels

fabi1cazenave avatar Jan 01 '24 21:01 fabi1cazenave

Isn’t this issue fixed and could be closed ?

robinmoussu avatar Jan 31 '24 17:01 robinmoussu

I wish… but there are still a lot of corner cases related to this.

fabi1cazenave avatar Jan 31 '24 20:01 fabi1cazenave

Reopening. Still a couple corner cases to fix.

fabi1cazenave avatar Feb 08 '24 14:02 fabi1cazenave

With https://github.com/OneDeadKey/kalamine/pull/114 landed, is this one solved?

Geobert avatar Feb 20 '24 21:02 Geobert