Giter VIP home page Giter VIP logo

Comments (3)

zsugabubus avatar zsugabubus commented on August 20, 2024

Problem 1 - can't run make test

You have something wrong with your directory structure. Move all your “maricn/*.h.in” files into a subdirectory (as you can see with “default”, “shift2caps“, “caps2esc”).

First level (“maricn”) is the config directory. Second level (new subdirectory) will be the name of the executable that will use the “*.h.in” files inside.

Problem 2 - space + home row => arrows

Phew. I haven’t used my plugin lately, but if you go with multi rules you surely need to set nbeforedown = 2 so it switches home row key down only if both keys are down. When you release a key it sends the other, because DOWN_IFF_ALL_DOWN specifies nbeforeup = nup = -2 => we are in a toggled down state and we go into a toggled up state when not 2 keys are down (negative numbers mean not). From this, I think you will have more luck with setting them to 1 or 0.

But have you tried the following tap rules?

#define KEY_VIML KEY_E
#define KEY_VIMR KEY_I
{ TAP(KEY_VIMR), .action_key = KEY_B/*X*/, .hold_key = KEY_DELETE, .tap_typing = 1 }, \
{ TAP(KEY_VIML), .action_key = KEY_H/*D*/, .hold_key = KEY_BACKSPACE, .tap_typing = 1 }, \
{ TAP(KEY_VIMR), .action_key = KEY_G/*I*/, .hold_key = KEY_INSERT, .tap_typing = 1 }, \
{ TAP(KEY_VIMR), .action_key = KEY_V/*K*/, .hold_key = KEY_UP, .tap_typing = 1 }, \
{ TAP(KEY_VIMR), .action_key = KEY_C/*J*/, .hold_key = KEY_DOWN, .tap_typing = 1 }, \
{ TAP(KEY_VIML), .action_key = KEY_J/*H*/, .hold_key = KEY_LEFT, .tap_typing = 1 }, \
{ TAP(KEY_VIML), .action_key = KEY_P/*L*/, .hold_key = KEY_RIGHT, .tap_typing = 1 }, \
{ TAP(KEY_VIML), .action_key = KEY_Y/*F*/, .hold_key = KEY_PAGEUP, .tap_typing = 1 }, \
{ TAP(KEY_VIML), .action_key = KEY_N/*B*/, .hold_key = KEY_PAGEDOWN, .tap_typing = 1 }, \
{ TAP(KEY_VIML), .action_key = KEY_U/*g*/, .hold_key = KEY_HOME, .tap_typing = 1 }, \
{ TAP(KEY_VIML), .action_key = KEY_M/*G*/, .hold_key = KEY_END, .tap_typing = 1 }, \
{ TAP(KEY_VIML), .action_key = KEY_R/*P*/, .hold_key = KEY_PRINT, .tap_typing = 1 }, \
{ TAP(KEY_VIML), .action_key = KEY_SEMICOLON/*S*/, .hold_key = KEY_PAUSE, .tap_typing = 1 },
#undef KEY_VIML
#undef KEY_VIMR

Just replace KEY_VIM* with KEY_SPACE and I think this is what you need.

Problem 3 - stuck letters

Did you type on the keyboard while restarting udevmon? That could cause issues.

If not, run make test, hopefully debug output can help.

from interception-k2k.

maricn avatar maricn commented on August 20, 2024

Problem 1 - can't run make test

You have something wrong with your directory structure. Move all your “maricn/*.h.in” files into a subdirectory (as you can see with “default”, “shift2caps“, “caps2esc”).

Now, per your instructions, I have this repo cloned at ~/Tools/interception-k2k/ and inside I have my folder maricn which contains inteception-pipe-maricn folder with *.h.in files.

The command I have succeeded running is:

make clean && mkdir -p out/ && sudo env CONFIG_DIR=/home/nikola/Tools/interception-k2k/maricn make test

Thank you!

Problem 2 - space + home row => arrows

Just replace KEY_VIM* with KEY_SPACE and I think this is what you need.

Wow, thank you! Didn't realize that would work the way I wanted. On the first look it seems fine, but there's a huge problem (3) with stuck letters and some repeated and missed ones.

Problem 3 - stuck letters

Did you type on the keyboard while restarting udevmon? That could cause issues.

No, the command I'm running to apply the changes is:

make clean && make && sudo make install && sudo systemctl restart udevmon.service

Then I wait for a while so udevmon service restarts, but the letters still get stuck.

This happens especially when switching windows (i'm on Wayland with SwayWM). When I change focus to another window, some random key starts outputting there. So far I got letters e, n, comma, space, and even SHIFT stuck. They get unstuck when I press some other key. Also, my touchpad gets stuck sometimes.

Trying out make test and looking at the debug output didn't really help. The debug output looks fine, I wasn't able to replicate anything strange there. I also increased TIMEOUT and tried moving around my DE, but couldn't replicate that issue.

from interception-k2k.

zsugabubus avatar zsugabubus commented on August 20, 2024

there's a huge problem (3) with stuck letters and some repeated and missed ones.

I never experienced such issue on my machine (used also with Sway), but here are a few things I can think of:

  • Make sure no other program intercepts your keyboard input.
  • Try shrink down your configuration only to one rule.
  • “Also, my touchpad gets stuck sometimes.”, so unless your udevmon is misconfigured my stuff surely does not touch that. Using evtest, you could figure out whether there is some oddity with your keyboard.

some random key starts outputting there

That does not sound well. As mentioned above, please try shrinking down your config, maybe that key is one of them.

from interception-k2k.

Related Issues (9)

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.