Bug#1004946: Cannot hold down backspace to delete password

2022-02-14 Thread Daniel Kahn Gillmor
Control: forwarded 1004946 
https://gitlab.freedesktop.org/xorg/lib/libxi/-/issues/13

On Sun 2022-02-13 08:26:24 -0800, Jamie Zawinski wrote:
>> Why did you switch to it? Or am I misunderstanding that you did?
>
> For the new security model. No other way to increase the privilege separation.

Thanks for these explanations, I think I understand the situation better
now.  I've forwarded the concern upstream at the link above.  Maybe the
libXi devs will be able to address the problem, or at least propose an
alternate solution that lets XScreenSaver retain the privilege
separation and the user-friendly key repeat functionality.

   --dkg


signature.asc
Description: PGP signature


Bug#1004946: Cannot hold down backspace to delete password

2022-02-13 Thread Jamie Zawinski
> Why did you switch to it? Or am I misunderstanding that you did?

For the new security model. No other way to increase the privilege separation.

--
Jamie Zawinski  https://www.jwz.org/  https://www.dnalounge.com/



Bug#1004946: Cannot hold down backspace to delete password

2022-02-13 Thread martin f krafft

Regarding the following, written by "Jamie Zawinski" on 2022-02-12 at 09:55 Uhr 
-0800:
Also this is far from the only problem with XInput2's keyboard 
event handling. See the comments in xscreensaver/driver/xinput.c 
for a laundry list of its bugs.


Why did you switch to it? Or am I misunderstanding that you did?

--
 .''`.   martin f. krafft  @martinkrafft
: :'  :  proud Debian developer
`. `'`   http://people.debian.org/~madduck
  `-  Debian - when you have better things to do than fixing systems
 
"i feel sorry for people who don't drink. when they wake up in the

 morning, that's as good as they're going to feel all day."
-- frank sinatra


Bug#1004946: Cannot hold down backspace to delete password

2022-02-12 Thread Jamie Zawinski
When an X11 client reads X11-core events of type KeyPress and KeyRelease, a 
held-down key will result in a series of synthetic release/press events to make 
it look like the key was pressed multiple times. The initial delay and repeat 
rate are configured in the X server by xset and/or xkbset. Also, not all keys 
auto-repeat.

When that same X11 client reads XInput2-extension events of type XI_RawKeyPress 
and XI_RawKeyRelease, a held-and-released key results in exactly 2 events, no 
matter how long it was held. The XInput2 server extension ignores the server 
auto-repeat settings.

It is unreasonable to expect an X11 client to hack auto-repeat by itself. This 
is a server-side configuration issue.

Also this is far from the only problem with XInput2's keyboard event handling. 
See the comments in xscreensaver/driver/xinput.c for a laundry list of its 
bugs. 

--
Jamie Zawinski  https://www.jwz.org/  https://www.dnalounge.com/



Bug#1004946: Cannot hold down backspace to delete password

2022-02-12 Thread Daniel Kahn Gillmor
On Fri 2022-02-11 09:16:09 -0800, Jamie Zawinski wrote:
> On Feb 11, 2022, at 8:51 AM, Daniel Kahn Gillmor  wrote:
>> 
>> If the regression is caused by changes in how XInput/XInput2 behave,
>> then maybe this problem should be addressed in that package.  I'm
>> reassigning this report there and marking that it affects xscreensaver.
>
> I have no reason to believe that XInput2 has not always behaved that way. You 
> are noticing it now because XScreenSaver only began using XInput2 as of 6.x.
>
> Stating the problem/annoyance more concisely:
>
> XInput2 does not send auto-repeat press/release events in the same manner as 
> XNextEvent.

Thanks for the prompt feedback, Jamie!

If you're saying that XInput2 *cannot* send auto-repeat press/release
events, and no tool that uses XInput2 can handle auto-repeating keys,
that seems like a problem with XInput2 -- hence the transfer of the bug.

If you're saying that XScreenSaver is not interpreting the signal of a
held-down backspace key, then it seems like a bug in XScreenSaver to me.

If neither of those is the case, then i'm not understanding the
conversation on this bug report, only observing that the problem for
users still remains.

Regards,

  --dkg


signature.asc
Description: PGP signature


Bug#1004946: Cannot hold down backspace to delete password

2022-02-11 Thread Jamie Zawinski
On Feb 11, 2022, at 8:51 AM, Daniel Kahn Gillmor  wrote:
> 
> If the regression is caused by changes in how XInput/XInput2 behave,
> then maybe this problem should be addressed in that package.  I'm
> reassigning this report there and marking that it affects xscreensaver.

I have no reason to believe that XInput2 has not always behaved that way. You 
are noticing it now because XScreenSaver only began using XInput2 as of 6.x.

Stating the problem/annoyance more concisely:

XInput2 does not send auto-repeat press/release events in the same manner as 
XNextEvent.

--
Jamie Zawinski  https://www.jwz.org/  https://www.dnalounge.com/



Bug#1004946: Cannot hold down backspace to delete password

2022-02-11 Thread Daniel Kahn Gillmor
Control: reopen 1004946
Control: reassign 1004946 libxi6 2:1.8-1
Control: affects 1004946 + xscreensaver

On Fri 2022-02-04 07:29:55 +0100, martin f krafft wrote:
> Package: xscreensaver
> Version: 6.02+dfsg1-2
> Severity: normal
>
> If I know I mistyped the password, I am used to holding down 
> backspace to erase all characters, effectively making use of the key 
> repeat. This stopped working with version 6, and now holding down 
> the key only ever removes a single character.

On Thu 2022-02-03 22:59:34 -0800, Jamie Zawinski wrote:

> For some reason, the XInput2 extension doesn't auto-repeat certain
> keys that used to auto-repeat when read the "old" way. Unfortunately
> there's nothing I can do about this. I process only the keystrokes
> that I receive.
>
> However you can use the traditional keystrokes ^U and ^X to clear the
> whole line.

As i understand it, XInput2 is provided by libxi6, from the libxi source
package.

This is a significant regression in user experience, and definitely
something confusing for users who see the backspace key and don't
understand why it's not repeating as expected.  Ctrl-U or Ctrl-X might
be an acceptable workaround for weirdos like the three of us, but it is
decidedly user-unfriendly for a screensaver to work this way.  Holding
down backspace to clear screwed up keystrokes is an incredibly common
usage pattern for password entry fields.

If the regression is caused by changes in how XInput/XInput2 behave,
then maybe this problem should be addressed in that package.  I'm
reassigning this report there and marking that it affects xscreensaver.

--dkg


signature.asc
Description: PGP signature


Bug#1004946: Cannot hold down backspace to delete password

2022-02-03 Thread Jamie Zawinski
For some reason, the XInput2 extension doesn't auto-repeat certain keys that 
used to auto-repeat when read the "old" way. Unfortunately there's nothing I 
can do about this. I process only the keystrokes that I receive.

However you can use the traditional keystrokes ^U and ^X to  clear the whole 
line.

--
Jamie Zawinski  https://www.jwz.org/  https://www.dnalounge.com/



Bug#1004946: Cannot hold down backspace to delete password

2022-02-03 Thread martin f krafft
Package: xscreensaver
Version: 6.02+dfsg1-2
Severity: normal

If I know I mistyped the password, I am used to holding down 
backspace to erase all characters, effectively making use of the key 
repeat. This stopped working with version 6, and now holding down 
the key only ever removes a single character.

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-3-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_WARN, TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_NZ, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8), LANGUAGE=en_NZ:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages xscreensaver depends on:
ii  init-system-helpers  1.61
ii  libatk1.0-0  2.36.0-3
ii  libc62.33-5
ii  libcrypt11:4.4.27-1.1
ii  libglib2.0-0 2.70.3-1
ii  libgtk2.0-0  2.24.33-2
ii  libpam0g 1.4.0-11
ii  libpango-1.0-0   1.50.3+ds1-6
ii  libsystemd0  250.3-2
ii  libx11-6 2:1.7.2-2+b1
ii  libxext6 2:1.3.4-1
ii  libxft2  2.3.2-2
ii  libxi6   2:1.8-1
ii  libxinerama1 2:1.1.4-2
ii  libxml2  2.9.12+dfsg-5+b1
ii  libxrandr2   2:1.5.2-1
ii  libxt6   1:1.2.0-1
ii  libxxf86vm1  1:1.1.4-1+b2
ii  xscreensaver-data6.02+dfsg1-2

Versions of packages xscreensaver recommends:
ii  gsfonts-x11   0.28
ii  libjpeg-turbo-progs   1:2.1.2-1
ii  perl  5.32.1-6
ii  wamerican [wordlist]  2020.12.07-2
ii  xfonts-100dpi 1:1.0.4+nmu1.1

Versions of packages xscreensaver suggests:
ii  chromium [www-browser]   97.0.4692.99-1
ii  elinks [www-browser] 0.13.2-1+b2
ii  firefox [www-browser]96.0.3-1
ii  fortune-mod [fortune]1:1.99.1-7.1
pn  gdm3 | kdm-gdmcompat 
ii  lynx [www-browser]   2.9.0dev.10-1
pn  qcam | streamer  
ii  w3m [www-browser]0.5.3+git20210102-6
pn  xdaliclock   
pn  xfishtank
pn  xscreensaver-data-extra  
ii  xscreensaver-gl  6.02+dfsg1-2
pn  xscreensaver-gl-extra

-- no debconf information


-- 
 .''`.   martin f. krafft  @martinkrafft
: :'  :  proud Debian developer
`. `'`   http://people.debian.org/~madduck
  `-  Debian - when you have better things to do than fixing systems