You are not logged in.
I just don't get it. If there is ANY double quote char coming from this 65% keyboard, the line just won't run. But if I try it using ANY OTHER keyboard, it does work.
Double quote from the 65% keyboard -> ""
Double quote from any other keyboard -> ""
I tried checking it but it seems like both are the same. I also suspect that the hotkey of the double quote may be doing something weird... The hotkey in question is Fn + Shift + Esc. The keyboard is a BK-T2 by Fire Phoenix and I really wish I could run commands in my terminal without having to use another keyboard to do so. Have any of you ever faced this weird problem? I appreciate ANY kind of help, thank you!! I don't wanna throw this keyboard away
Offline
https://bbs.archlinux.org/viewtopic.php?id=57855
In what context (display server?) and what "line won't run"?
In doubt run "xev -event keyboard" and record what input the key actually causes.
What you posted here is in both cases 0x22 0x22, ie. the regular double quote.
https://man.archlinux.org/man/ascii.7
Offline
Oh yeah my bad, yes, I'm on X11.
It's in the terminal (I'm using alacritty), it doesn't matter the content of the line, it may be an echo, if it contains the double quote the only thing that happens is that it jumps to the next line and I still have to interrupt it with CTRL + C.
I ran "xev -event keyboard" and typed the double quote three times with a normal keyboard and then three times with my 65% keyboard, these were the results.
KeyPress event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28107661, (881,318), root:(882,361),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28107964, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XmbLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28108094, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28108140, (881,318), root:(882,361),
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28109007, (881,318), root:(882,361),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28109255, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XmbLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28109363, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28109403, (881,318), root:(882,361),
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28110797, (881,318), root:(882,361),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28110856, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XmbLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28111028, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28111084, (881,318), root:(882,361),
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 28, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeyPress event, serial 28, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28113249, (881,318), root:(882,361),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28113477, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XmbLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28113616, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28113645, (881,318), root:(882,361),
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28114149, (881,318), root:(882,361),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28114425, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XmbLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28114568, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28114607, (881,318), root:(882,361),
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28115100, (881,318), root:(882,361),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28115377, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XmbLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28115513, (881,318), root:(882,361),
state 0x11, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x3000001,
root 0x4e1, subw 0x0, time 28115552, (881,318), root:(882,361),
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Yes the string itself is the same so I thought it could be some alacritty thing, but the results were the same in WezTerm.
Last edited by ruppfv (2025-05-16 06:56:41)
Offline
Please use [code][/code] tags. Edit your post in this regard.
if it contains the double quote the only thing that happens is that it jumps to the next line
That behavior would be perfectly normal for an open string, please post the entire input.
Offline
I'm running
echo "oi"
Well here's one thing I noticed, even though I did type the code above using the 65% keyboard, if I copy and paste it in the terminal it will run, but again, if I type it directly in the terminal, it won't run anymore.
❯ echo "oi" at 06...
oi
❯ echo "oi" at 06...
! -> had to interrupt with CTRL + C
❯
Last edited by ruppfv (2025-05-16 07:05:03)
Offline
Type
echo "oi" | od -x
and post the output.
Can you btw.
printf "oi"
?
Offline
❯ echo "oi" - with 65% keyboard
!
❯ echo "oi" | od -x - with 65% keyboard
0000000 696f 000a
0000003
❯ echo "oi" | od -x - with a normal keyboard
0000000 696f 000a
0000003
❯ printf "oi" - with 65% keyboard
!
❯ printf "oi" - with a normal keyboard
oi%
❯
"echo "oi" | od -x" had the same results on both
Offline
echo "oi" | od -x
doesn't stall, though?
Maybe it's more about "+Enter?
echo "oi"; true
Offline
You are right. Just tested it and the times it stalls I can make it run by just pressing enter again, and it never stalls with "true" at the ending.
But if I run echo WITHOUT double quotes, it does not stale whereas I still use "Enter".
Also I just noticed that it doesn't matter which key I press right after the "", it will not be shown. Most of them would just be ignored, but "Enter" breaks to the next line.
Offline
=> "xev -event keyboard", doublequote + enter + enter ?
Offline
KeymapNotify event, serial 24, synthetic NO, window 0x0,
keys: 32 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 25, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57841824, (529,449), root:(530,492),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57843330, (529,449), root:(530,492),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57843403, (529,449), root:(530,492),
state 0x1, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XmbLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57843535, (529,449), root:(530,492),
state 0x1, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57843562, (529,449), root:(530,492),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57845274, (529,449), root:(530,492),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
" XmbLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57845389, (529,449), root:(530,492),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57847104, (529,449), root:(530,492),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
" XmbLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57847214, (529,449), root:(530,492),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57848565, (529,449), root:(530,492),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57848654, (529,449), root:(530,492),
state 0x1, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XmbLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57848774, (529,449), root:(530,492),
state 0x1, keycode 49 (keysym 0x22, quotedbl), same_screen YES,
XLookupString gives 1 bytes: (22) """
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57848806, (529,449), root:(530,492),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57849942, (529,449), root:(530,492),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
" XmbLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57850023, (529,449), root:(530,492),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57850612, (529,449), root:(530,492),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
" XmbLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3600001,
root 0x4e1, subw 0x0, time 57850693, (529,449), root:(530,492),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
Did it twice. doublequote + enter + enter + doublequote + enter + enter
Offline
This is on the 65% keyboard?
env -i bash --norc
Still a problem inside that subshell?
Offline
Yes, it all was using the 65% keyboard.
It's still the same inside that subshell, the key after the double quote is ignored. But now the first "Enter" doesn't break the line anymore, it's just ignored, waiting for a second one to conclude.
I'm not sure if I've told you but the very next key after the doublequote is not ignored when typed anywhere else but the terminal
Offline
The xev output looks ok, the --norc test was because I was speculating some local bash config (prompt) might cause this - you did run it as seen and where greetes with a fugly bare-bones prompt (no autocompletion etc)?
alacritty -e vim # or nano if you're scared of the vim ;)
How does this behave in a terminal that's not running an interactive shell?
Oh, and while at it, do you manually set $TERM ?
Offline
Yes, there was no $TERM set in that prompt, barely any indicator
The result for
alacritty -e vim # or nano if you're scared of the vim ;)
in it is --
Error: Os(OsError { line: 764, file: "/build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/linux/mod.rs", error: Misc("neither WAYLAND_DISPLAY nor WAYLAND_SOCKET nor DISPLAY is set.") })
Offline
Ah, not from that bare bones shell where we dropped the entire environmet - that cannot work.
First "exit" that.
Offline
Oh I had thought you wanted the output of that in the bare bone shell because actually all I get is an empty file when I run it in the normal term. A whole new buffer.
Offline
When I run
alacritty -e vim
it creates a new file - there's nothing set in it.
I appreciate any help!! Thank you
Last edited by ruppfv (2025-05-27 04:13:37)
Offline
Yeah, but how does doublequote+enter behave there?
(In case you're not familiar w/ vim, maybe try nano or so - any process where you can type and that does NOT involve your shell)
Offline
Oh I get it, my bad.
Well, nothing different happens. I write it as the usual and it is typed.
Offline
"As usual" meaning you've to hit enter twice after a doublequote or it works like it's supposed to (and does outside the terminal)?
Offline
In case of pressing ENTER after typing a double quote, it just breaks to the next line, no problems. But any other key should be pressed twice to be typed after the double quote. (Or doesn't even have to be typed twice, but has to have another key pressed before it - like - to type
"d
I could press fn + shift + esq ("), then press F, then press D. F would be ignored and I'd have "d.
Last edited by ruppfv (2025-05-28 06:11:55)
Offline
What happens for "fn+shift+esc, fn, f" ?
What happens for "fn + shift + esc, get a cup of coffee, f" (ie. wait some time before entering the next key)?
Offline
What happens for "fn+shift+esc, fn, f" ?
F is still blocked and I have to press it twice.
What happens for "fn + shift + esc, get a cup of coffee, f" (ie. wait some time before entering the next key)?
Nothing changes. Still have to press twice.
Something I noticed using nano and vim is that if I press "a", for example, after the doublequotes, it activates text selection. I tried looking up what's the hotkey with + A for doing that, so I could understand what the doublequote triggers exactly... but I couldn't find any.
Offline
Vim enters the visual (marking) mode w/ v, but if you're somehow getting there from the insert mode (incidentally what a would actually trigger) you first need to leave the insert and enter the normal mode… what escape will do.
Pressing escape in bash will also cause the original symptoms so it would seem tzat a spurious escape gets entered.
Have you tried this w/ xterm?
Offline