qnikst / kbdd

keyboard library for per-window keyboard layout
GNU General Public License v2.0
147 stars 17 forks source link

kbdd switches layouts incorrectly #23

Open ghost opened 11 years ago

ghost commented 11 years ago

kbdd does not swich layouts when switching windows actively.

kbdd: 0.6.4 os: Linux z 3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux layouts: by(latin), by(legacy) window manager: xfce4.8 (xfce-kbd-plugin is not installed)

  1. run kbdd
  2. open two windows
  3. set the active layout for the window 1 to by(latin)
  4. set the active layout for the window 2 to by(legacy)
  5. press the same button repeatedly (i use 's')
  6. switch between windows while doing 5.

actual output: window1: ssssssssssssssssssssssssssssssss window2: ыыыыsыыыыыыыыыsыыыыsыыыыsыыыыsыыыы

expected output: window1: contains only 's' window2: contains only 'ы'

in addition, sometimes kbdd does not switch the layout at all so (in my case) the window 2 contains: ыыыыsыыыыыыыыыsыыыыsыыыыsыыыыsыыыыыыыыыsssssssss

after that the layout could be switched back to by(legacy) again by kbdd which results to: ыыыыsыыыыыыыыыsыыыыsыыыыsыыыыsыыыыыыыыыsssssssssssssssssssssыыыыыыыыы

qnikst commented 11 years ago

sorry for a delay but is it reproducible on the current master?

ghost commented 11 years ago

I've just tried to make the master codebase but the configuration step does not work for me. Am I supposed to install/change something to execute ./configure ?

dzmitry@z:~/projects$ git clone https://github.com/qnikst/kbdd Cloning into 'kbdd'... remote: Counting objects: 1259, done. remote: Compressing objects: 100% (501/501), done. remote: Total 1259 (delta 812), reused 1180 (delta 751) Receiving objects: 100% (1259/1259), 346.46 KiB | 56 KiB/s, done. Resolving deltas: 100% (812/812), done. dzmitry@z:~/projects$ cd kbdd/ dzmitry@z:~/projects/kbdd$ ./configure bash: ./configure: No such file or directory

Then I tried to create ./configure out of ./configure.ac. However, it does not seem to work fine:

dzmitry@z:~/projects/kbdd$ autoconf -o configure configure.ac dzmitry@z:~/projects/kbdd$ chmod +x ./configure dzmitry@z:~/projects/kbdd$ ./configure ./configure: line 2173: syntax error near unexpected token kbdd,' ./configure: line 2173:AM_INIT_AUTOMAKE(kbdd, 0.6)'

qnikst commented 11 years ago

afaik, you need to run autoreconf -i before configure

ghost commented 11 years ago

Thanks, this helps. The master version of kbdd seems to work now. Let me use it for a while to ensure that random switches are not a problem.

ghost commented 11 years ago

It works better but not perfectly. The use case:

There you can see some cyrillic characters in the latin sequence as well as some latin characters in the cyrillic sequence

ghost commented 11 years ago

in addition, after exercising with fast window switching I can reproduce a case when kbdd changes the layout for a window for ever :)

So yes - the bug is still reproducible with the master build of kbdd. The syntetic steps in the bug description lead to the same output with the newest kbdd.

amerlyq commented 8 years ago

Regretfully, problem is persistent. When using i3wm it was intermitten and easily resigned, but on xmonad it occurs permanently and unbearable.