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

Dead keys in the 1dk layer ? #55

Closed
fabi1cazenave opened this issue Dec 30, 2023 · 8 comments · Fixed by #78
Closed

Dead keys in the 1dk layer ? #55

fabi1cazenave opened this issue Dec 30, 2023 · 8 comments · Fixed by #78

Comments

@fabi1cazenave
Copy link
Collaborator

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.

@robinmoussu
Copy link
Contributor

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" />

@fabi1cazenave
Copy link
Collaborator Author

fabi1cazenave commented Dec 31, 2023

[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
Copy link
Collaborator Author

fabi1cazenave commented Jan 1, 2024

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

@robinmoussu
Copy link
Contributor

Isn’t this issue fixed and could be closed ?

@fabi1cazenave
Copy link
Collaborator Author

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

@fabi1cazenave
Copy link
Collaborator Author

Reopening. Still a couple corner cases to fix.

@fabi1cazenave fabi1cazenave reopened this Feb 8, 2024
@Geobert
Copy link
Collaborator

Geobert commented Feb 20, 2024

With #114 landed, is this one solved?

@Geobert
Copy link
Collaborator

Geobert commented Nov 17, 2024

We have dead keys in 1dk, as needed by ergo‑l, on all platform, closing this

@Geobert Geobert closed this as completed Nov 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants