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

Add German layout neo 2 #241

Open
dflvunoooooo opened this issue Sep 11, 2023 · 5 comments
Open

Add German layout neo 2 #241

dflvunoooooo opened this issue Sep 11, 2023 · 5 comments

Comments

@dflvunoooooo
Copy link

Hi, is it possible to add a layout for the german keyboard?

More information can be found here neo-layout.org.

@Morphior
Copy link

I have made an initial draft for neo2 with all six layers. There are a few issues:

  • how to handle dead keys
  • how to handle the compose key
  • how to specify capital ß (ẞ) as currently afaik the app makes its own guess as to what the capitalized representation of a letter is when it’s not in a popup
  • how to handle things like backspace on layer 4 of v or the arrow keys etc.

I know apps like Unexpected Keyboard have managed to include dead keys and arrow keys and such in their implementations but I haven’t looked too closely into how that would work.

I was also debating whether or not to include the hyphen key next to the 0 on the num row. I’ve decided to include it for now but we definitely need to think about how to convey which hyphen is which. I wasn’t able to include the soft hyphen so we need to figure out how to do that as well.

<?xml version="1.0" encoding="utf-8"?>
<Keyboard xmlns:app="http://schemas.android.com/apk/res-auto">
    <Row app:isNumbersRow="true">
        <Key
            app:keyEdgeFlags="left"
            app:keyLabel="1"
            app:popupCharacters="°¹₁ª¬"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="1" />
        <Key
            app:keyLabel="2"
            app:popupCharacters="§²₂º∨"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="2" />
        <Key
            app:keyLabel="3"
            app:popupCharacters="ℓ³₃№∧"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="3" />
        <Key
            app:keyLabel="4"
            app:popupCharacters="»›♀⊥"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="4" />
        <Key
            app:keyLabel="5"
            app:popupCharacters="«‹♂·∡"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="5" />
        <Key
            app:keyLabel="6"
            app:popupCharacters="$¢⚥£∥"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="6" />
        <Key
            app:keyLabel="7"
            app:popupCharacters="€¥ϰ¤→"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="7" />
        <Key
            app:keyLabel="8"
            app:popupCharacters="„‚⟨∞"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="8" />
        <Key
            app:keyLabel="9"
            app:popupCharacters="“‘⟩/∝"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="9" />
        <Key
            app:keyLabel="0"
            app:popupCharacters="”’₀*∅"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="0" />
        <Key
            app:keyEdgeFlags="right"
            app:keyLabel="-"
            app:popupCharacters="—‑-"
            app:popupKeyboard="@xml/keyboard_popup_template" />
    </Row>
    <Row>
        <Key
            app:keyEdgeFlags="left"
            app:keyLabel="x"
            app:popupCharacters='…ξΞ'
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="1" />
        <Key
            app:keyLabel="v"
            app:popupCharacters="_√"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="2" />
        <Key
            app:keyLabel="l"
            app:popupCharacters="[λΛ"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="3" />
        <Key
            app:keyLabel="c"
            app:popupCharacters="]χℂ"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="4" />
        <Key
            app:keyLabel="w"
            app:popupCharacters="^ωΩ"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="5" />
        <Key
            app:keyLabel="k"
            app:popupCharacters="!κ¡×"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="6" />
        <Key
            app:keyLabel="h"
            app:popupCharacters="&lt;ηΨ"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="7" />
        <Key
            app:keyLabel="g"
            app:popupCharacters=">γΓ"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="8" />
        <Key
            app:keyLabel="f"
            app:popupCharacters="=φΦ"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="9" />
        <Key
            app:keyLabel="q"
            app:popupCharacters="&amp;ϕ+ℚ"
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:topSmallNumber="0" />
        <Key
            app:keyEdgeFlags="right"
            app:keyLabel="ß"
            app:popupCharacters="ſς−∘"
            app:popupKeyboard="@xml/keyboard_popup_template" />
    </Row>
    <Row>
        <Key
            app:keyEdgeFlags="left"
            app:keyLabel="u"
            app:popupCharacters="\⊂"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="i"
            app:popupCharacters="/ι∫"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="a"
            app:popupCharacters="{α∀"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="e"
            app:popupCharacters="}ε∃"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="o"
            app:popupCharacters="*ο∈"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="s"
            app:popupCharacters="?σ¿Σ"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="n"
            app:popupCharacters="(νℕ"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="r"
            app:popupCharacters=")ρℝ"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="t"
            app:popupCharacters="-τ∂"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="d"
            app:popupCharacters=":δ,Δ"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyEdgeFlags="right"
            app:keyLabel="y"
            app:popupCharacters="@υ.∇"
            app:popupKeyboard="@xml/keyboard_popup_template" />
    </Row>
    <Row>
        <Key
            app:code="-1"
            app:keyEdgeFlags="left"
            app:keyIcon="@drawable/ic_caps_outline_vector"
            app:keyWidth="15%p" />
        <Key
            app:keyLabel="ü"
            app:popupCharacters="#∪"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="ö"
            app:popupCharacters="$ϵ∩"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="ä"
            app:popupCharacters="|ηℵ"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="p"
            app:popupCharacters="~πΠ"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="z"
            app:popupCharacters="`ζℤ"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="b"
            app:popupCharacters="+β:⇐"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="m"
            app:popupCharacters="%μ⇔"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:keyLabel="j"
            app:popupCharacters=";θΘ"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:code="-5"
            app:isRepeatable="true"
            app:keyEdgeFlags="right"
            app:keyIcon="@drawable/ic_clear_vector"
            app:keyWidth="15%p" />
    </Row>
    <Row>
        <Key
            app:code="-2"
            app:keyEdgeFlags="left"
            app:keyLabel="123"
            app:keyWidth="15%p" />
        <Key
            app:keyLabel=","
            app:popupCharacters='–"ϱ⇒'
            app:popupKeyboard="@xml/keyboard_popup_template"
            app:keyWidth="10%p" />
        <Key
            app:code="-6"
            app:keyEdgeFlags="left"
            app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
            app:secondaryKeyIcon="@drawable/ic_language_outlined"
            app:keyWidth="10%p" />
        <Key
            app:code="32"
            app:isRepeatable="true"
            app:keyWidth="40%p" />
        <Key
            app:keyLabel="."
            app:keyWidth="10%p"
            app:popupCharacters="•'ϑ↦"
            app:popupKeyboard="@xml/keyboard_popup_template" />
        <Key
            app:code="-4"
            app:keyEdgeFlags="right"
            app:keyIcon="@drawable/ic_enter_vector"
            app:keyWidth="15%p" />
    </Row>
</Keyboard>

@dflvunoooooo
Copy link
Author

Thank you very much for your work! How can I test it?

@Morphior
Copy link

I guess you’d have to put the contents I pasted above into a file in app/src/main/res/xml and name it keys_letters_german_neo2.xml or something and then compile the app from source. But I’m not sure, there might be other things that need to be done. Maybe @tibbi can chime in?

@tibbi
Copy link
Contributor

tibbi commented Sep 27, 2023

will test it later, thanks

@Morphior
Copy link

Morphior commented Oct 5, 2023

@tibbi any updates so far?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants