Giter Site home page Giter Site logo

Comments (7)

bingocaller avatar bingocaller commented on September 23, 2024

Hi @JulBell,
Bépo Typematrix 2030 support is definitely a possibility.
However, it requires that someone adds the complex modifications to support that layout. This someone could be you, if you're up for it! 🙂

The way things work right now is that people add new complex modifications by setting them up on their own machine first. Then they submit a pull request with the changes in order to get it up on the website from where other users can download it into their own Karabiner-Elements setup.

If you don't know how to get started or need any help at all, please reply here and I'll see if I can help you out!

from ke-complex_modifications.

JulBell avatar JulBell commented on September 23, 2024

Hi @bingocaller,
That's what I began to think, «Why not contributing myself?» :-)
So I tried, and I didn't submit a PR because, it doesn't work. Even if the event viewer seems to be correct, it does not Cut/Copy/Paste. Maybe I do something wrong IDK...
And the behaviour seems different between apps. During testing, sometimes it works on VstudioCode, but not in any other app.
If you can give a look…Thanks
Here is what I have in event viewer:
For Cut :

  • Associated rule
 "description": "Function Cut",
            "manipulators": [
                {
                    "from": {
                        "key_code": "delete_forward",
                        "modifiers": {
                            "mandatory": [
                                "left_shift"
                            ],
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "key_code": "x",
                            "modifiers": [
                                "command"
                            ]
                        }
                    ],
                    "type": "basic"
                }
            ]
  • Without modification activated
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:KeyDown         code:0x75       name:delete_forward  flags:Shift Fn                           misc:
eventType:KeyUp           code:0x75       name:delete_forward  flags:Fn                                 misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:

  • With modification activated
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:FlagsChanged    code:0x37       name:left_command    flags:Cmd                                misc:
eventType:KeyDown         code:0x7        name:x               flags:Cmd                                misc:
eventType:KeyUp           code:0x7        name:x               flags:Cmd                                misc:
eventType:FlagsChanged    code:0x37       name:left_command    flags:                                   misc: 

For Copy :

  • Associated Rule
 "description": "Function Copy",
            "manipulators": [
                {
                    "from": {
                        "key_code": "insert",
                        "modifiers": {
                            "mandatory": [
                                "left_control"
                            ],
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "key_code": "c",
                            "modifiers": [
                                "command"
                            ]
                        }
                    ],
                    "type": "basic"
                }
            ] 
  • Without modification activated
eventType:KeyDown         code:0x72       name:help            flags:Ctrl Fn                            misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:KeyUp           code:0x72       name:help            flags:Fn                                 misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
  • With modification activated
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:FlagsChanged    code:0x37       name:left_command    flags:Cmd                                misc:
eventType:KeyDown         code:0x8        name:c               flags:Cmd                                misc:
eventType:KeyUp           code:0x8        name:c               flags:Cmd                                misc:
eventType:FlagsChanged    code:0x37       name:left_command    flags:                                   misc:

For Paste :

  • Associated Rule
            "description": "Function Paste",
            "manipulators": [
                {
                    "from": {
                        "key_code": "insert",
                        "modifiers": {
                            "mandatory": [
                                "left_shift"
                            ],
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "key_code": "v",
                            "modifiers": [
                                "command"
                            ]
                        }
                    ],
                    "type": "basic"
                }
            ]
  • Without modification activated
eventType:KeyDown         code:0x72       name:help            flags:Shift Fn                           misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:KeyUp           code:0x72       name:help            flags:Fn                                 misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
  • With modification activated
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:FlagsChanged    code:0x37       name:left_command    flags:Cmd                                misc:
eventType:KeyDown         code:0x9        name:v               flags:Cmd                                misc:
eventType:KeyUp           code:0x9        name:v               flags:Cmd                                misc:
eventType:FlagsChanged    code:0x37       name:left_command    flags:                                   misc:

Thanks again ! 

from ke-complex_modifications.

bingocaller avatar bingocaller commented on September 23, 2024

Hmm, your rule sets all look correct, as far as I can tell. However, I'm noticing that when your modifications aren't activated it seems your keyboard is sending Fn as a modifier in addition to Ctrl/Shift. Have you tried including fn either as a mandatory modifier or as an explicit, optional one (as opposed to any)?

from ke-complex_modifications.

JulBell avatar JulBell commented on September 23, 2024

After reboot of my Mac, here is what i got without modifications activated

For Cut

eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:KeyDown         code:0x75       name:delete_forward  flags:Shift Fn                           misc:
eventType:KeyUp           code:0x75       name:delete_forward  flags:Shift Fn                           misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:

For Copy

eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:KeyDown         code:0x72       name:help            flags:Ctrl Fn                            misc:
eventType:KeyUp           code:0x72       name:help            flags:Ctrl Fn                            misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:

For Paste

eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:KeyDown         code:0x72       name:help            flags:Shift Fn                           misc:
eventType:KeyUp           code:0x72       name:help            flags:Shift Fn                           misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:

I tried your suggestions and, if I add "fn" to the mandatory modifiers, the modifications is not triggered, and if I add it to the optionals, it doesn't change anything.

Edit1: Weird thing is in Chrome for example if try to "copy" to test the rule, it "cut" and i can past with regular command + v…

Edit2: I opened the keyboard viewer, when i try to copy, it «clicks» on "x", «cut» on "y", and «paste» on "."

from ke-complex_modifications.

bingocaller avatar bingocaller commented on September 23, 2024

Alright, I'll see if I can try to imitate your setup on my own machine and see if I get the same results. I don't know if I'll have the time today, though, but I'll keep you posted once I have something! 🙂

from ke-complex_modifications.

JulBell avatar JulBell commented on September 23, 2024

Okay, I managed to find the solution BUT i think it's weird...
Here is how i figured it out :

I noticed that, in the event, viewer when I was typing a "b", it read a "q", an "é" was rad as a "w" etc…

So i tried to switch to "US" , and BOOM the modifications worked.

Then i tried to change "bépo" keys into "US" key in my rules code ( "c" -> "h", "x" -> "c", "v"->"u"), return to «French Dvorak» aka Bépo, and it finally worked.

So i think there is 2 possible reasons:

  • Karabiner doesn't take international(or maybe just «non standards one») layouts into account correctly.
    or
  • the «bépo» bundle (available here and infos available here) is not correctly implemented.

What do you think ? I'll PR when i'm sure i've the right solution ;-)

from ke-complex_modifications.

bingocaller avatar bingocaller commented on September 23, 2024

Ah, I didn't even consider that possibility! I remember there being some sort of issue with non-US layouts, but I also vaguely remember seeing something about a fix/workaround for that. However, that might not be pertinent to your situation.
If your fix works I think you should definitely submit a pull request! 👍
You could reference this discussion to clarify why the extra rules are necessary.

from ke-complex_modifications.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.