• how to make the pause key switch keyboard variants?

    From Salvador Mirzo@21:1/5 to All on Thu Feb 6 21:16:55 2025
    I wish I could toggle the variant using the pause key and not the menu
    key as it is currently set on my OpenBSD system---see below. I'm
    looking through files such as

    /usr/X11R6/share/X11/xkb/symbols/us

    and the others, but I don't immediately see a description of a pause
    key. Is that possible to do? Can you point me in the right direction?

    b$ setxkbmap -query
    rules: base
    model: pc105
    layout: us,us
    variant: basic,mine
    options: grp:menu_toggle

    b$ uname -a
    OpenBSD b.local 7.6 GENERIC.MP#338 amd64

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Winston@21:1/5 to Salvador Mirzo on Thu Feb 6 23:34:49 2025
    Salvador Mirzo <smirzo@example.com> writes:
    I wish I could toggle the variant using the pause key and not the menu
    key as it is currently set on my OpenBSD system---see below.

    I'm not sure, but this sounds more like something xmodmap(1) would do.
    man xmodmap.

    However, since I usually see "Pause" as "Break"+Shift on keyboards, you
    may need to look at references to Break's keycode as well as Pause.
    -WBE

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From vallor@21:1/5 to All on Fri Feb 7 07:20:41 2025
    On Thu, 06 Feb 2025 23:34:49 -0500, Winston <wbe@UBEBLOCK.psr.com.invalid> wrote in <yd5xlmgyom.fsf@UBEblock.psr.com>:

    Salvador Mirzo <smirzo@example.com> writes:
    I wish I could toggle the variant using the pause key and not the menu
    key as it is currently set on my OpenBSD system---see below.

    I'm not sure, but this sounds more like something xmodmap(1) would do.
    man xmodmap.

    However, since I usually see "Pause" as "Break"+Shift on keyboards, you
    may need to look at references to Break's keycode as well as Pause.
    -WBE

    xev(1) shows the keycode on my Linux system:

    KeyPress event, serial 34, synthetic NO, window 0xd800001,
    root 0x1ee, subw 0xd800002, time 152673378, (38,41), root:(1869,1073),
    state 0x10, keycode 127 (keysym 0xff13, Pause), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

    KeyRelease event, serial 37, synthetic NO, window 0xd800001,
    root 0x1ee, subw 0xd800002, time 152673450, (38,41), root:(1869,1073),
    state 0x10, keycode 127 (keysym 0xff13, Pause), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

    Don't know if it would be different in BSD, but worth a try with xev(1).

    --
    -v

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Winston@21:1/5 to to which I on Fri Feb 7 15:28:44 2025
    Salvador Mirzo <smirzo@example.com> posted:
    I wish I could toggle the variant using the pause key and not the menu
    key as it is currently set on my OpenBSD system---see below.

    to which I replied:
    I'm not sure, but this sounds more like something xmodmap(1) would do.
    man xmodmap.

    However, since I usually see "Pause" as "Break"+Shift on keyboards, you
    may need to look at references to Break's keycode as well as Pause.

    vallor <vallor@cultnix.org> then replied:
    xev(1) shows the keycode on my Linux system:

    KeyPress event,
    [...] state 0x10, keycode 127 (keysym 0xff13, Pause), same_screen YES,

    I see the same keycode and keysym for Pause, but on "PC" type keyboards,
    I see "Pause" printed above "Break" on the key label, and one has to
    hold down a Shift key when pressing that key to get Pause.

    Either way, I was just a bit surprised when it sounded like Salvador
    seemed to be saying he has a keyboard where Pause doesn't require Shift.
    -WBE

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Salvador Mirzo@21:1/5 to Winston on Sat Mar 1 22:41:54 2025
    Winston <wbe@UBEBLOCK.psr.com.invalid> writes:

    Salvador Mirzo <smirzo@example.com> posted:
    I wish I could toggle the variant using the pause key and not the menu >>>> key as it is currently set on my OpenBSD system---see below.

    to which I replied:
    I'm not sure, but this sounds more like something xmodmap(1) would do.
    man xmodmap.

    However, since I usually see "Pause" as "Break"+Shift on keyboards, you
    may need to look at references to Break's keycode as well as Pause.

    Thanks. I was able to get it to work. I used xev to figure out what
    was the keycode of pause and the menu key. I discovered that the pause
    key issues the keycode 135 when pressed, and menu key, keycode 117. So
    the following commands disable the menu key and makes the pause key
    behave like the menu key:

    xmodmap -e 'keycode 135 = ISO_Next_Group'
    xmodmap -e 'keycode 117 = VoidSymbol'

    Now, what I'm puzzled about is that I add these commands to .xsession,
    which I'm positive that xenodm runs when I log in, but it takes no
    effect.

    Another puzzling thing that's going on here, which might be totally
    unrelated, is that my Firefox stopped translating 'c into ç. The toggle
    to make this translation happen is the environment variable

    GTK_IM_MODULE=cedilla

    which is sourced in my .xsession. So much so that when I run uxterm and
    then run firefox from it, I get ç when I press 'c. And I don't know how
    this started to happen because I had Firefox behaving as expected for
    quite a while here and I can't identify what it is that I changed to get
    me to this situation.

    This may possibly due to xenodm. I was running startx for some time and
    I eventually switched to running xenodm.

    vallor <vallor@cultnix.org> then replied:
    xev(1) shows the keycode on my Linux system:

    KeyPress event,
    [...] state 0x10, keycode 127 (keysym 0xff13, Pause), same_screen YES,

    I see the same keycode and keysym for Pause, but on "PC" type keyboards,
    I see "Pause" printed above "Break" on the key label, and one has to
    hold down a Shift key when pressing that key to get Pause.

    Either way, I was just a bit surprised when it sounded like Salvador
    seemed to be saying he has a keyboard where Pause doesn't require Shift.

    That's right. No shift required for pause. I have a DURGOD Taurus K310
    with a numeric keypad. Here's what xev reports when I press pause.
    (That's before I run the xmodmap commands I mentioned above.)

    KeyPress event, serial 33, synthetic NO, window 0x1e00001,
    root 0x607, subw 0x0, time 904643, (89,89), root:(824,435),
    state 0x10, keycode 135 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x1e00001,
    root 0x607, subw 0x0, time 904693, (89,89), root:(824,435),
    state 0x10, keycode 135 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

    Thanks!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Winston@21:1/5 to to which I on Sat Mar 15 09:18:14 2025
    From: Winston <wbe@UBEBLOCK.psr.com.invalid>
    Newsgroups: comp.windows.x
    Subject: Re: how to make the pause key switch keyboard variants?
    References: <871pwa7gnc.fsf@example.com> <yd5xlmgyom.fsf@UBEblock.psr.com>
    <vo4c89$314vf$2@dont-email.me> <ydv7tlfqir.fsf@UBEblock.psr.com>
    <87v7ssmcnx.fsf@example.com>
    X-Draft-From: ("comp.windows.x" 760)
    Mail-Copies-To: never
    Date: Sat, 15 Mar 2025 08:41:39 -0400
    Message-ID: <ydmsdmea9o.fsf@UBEblock.psr.com>
    User-Agent: Gnus/5.13 (Gnus v5.13)
    --text follows this line--
    Salvador Mirzo <smirzo@example.com> posted:
    I wish I could toggle the variant using the pause key and not the
    menu key as it is currently set on my OpenBSD system---see below.

    to which I replied:
    I'm not sure, but this sounds more like something xmodmap(1) would
    do. man xmodmap.

    Later, Salvador Mirzo <smirzo@example.com> replied:
    Thanks. I was able to get it to work. I used xev to figure out what
    was the keycode of pause and the menu key. I discovered that the pause
    key issues the keycode 135 when pressed, and menu key, keycode 117. So
    the following commands disable the menu key and makes the pause key
    behave like the menu key:

    xmodmap -e 'keycode 135 = ISO_Next_Group'
    xmodmap -e 'keycode 117 = VoidSymbol'

    Now, what I'm puzzled about is that I add these commands to .xsession,
    which I'm positive that xenodm runs when I log in, but it takes no
    effect.

    Try this and see if it helps...

    1) Create a file (e.g., .xmodmaprc, but there's nothing special about
    the name) with the relevant remove/keysym/keycode/add commands.
    This is for step 2.

    2) Once X and some xterm is running, run xmodmap .xmodmaprc again,
    maybe even twice.

    ISTM there's some sort of bug with xmodmap, and either I've always done something wrong or the bug's been there for years. Even though I run
    xmodmap during startup, half the changes don't happen (and half do).
    I have to run xmodmap twice after startup to get things right.

    Another puzzling thing that's going on here, which might be totally unrelated, is that my Firefox stopped translating 'c into ç. The
    toggle to make this translation happen is the environment variable

    GTK_IM_MODULE=cedilla

    Sorry, not something I know about. Maybe someone else can help with
    that.
    -WBE

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)