Dead keys cause beep to sound

May 30, 2008
81
0
Gerakas, Greece
I think I've asked this in the past (in another incarnation of the JPSoft forums), but I don't remember the answer.

The problem is this: If you have a keyboard that uses dead keys (such as Greek or US-International), each time you press a dead key (for example the ";" key in the Greek keyboard or the single quote key in US-International), a beep is heard. This can be very distracting. This behavior doesn't happen with cmd.exe or powershell, so it's almost certainly some TCC.EXE behavior. TCC exhibits this either when running standalone, or inside TCMD (or inside another console wrapper). On the other hand, CMD.EXE and PowerShell.exe do not beep either standalone or inside a console wrapper.

My question: Is this intentional? If so, how can it be disabled? If it not intentional, of course this must be a bug, by definition :)
 
May 30, 2008
81
0
Gerakas, Greece
Well, if it using a different API, maybe it shouldn't? Bash manages to have a completely custom tab completion, coloring etc. without beeping on dead keys. In any case, the beep that comes out when you press a dead key is exactly the same as the one that sounds when you press an unassigned key (e.g. F2). So, the beeping is definitely TCC and not Windows. There are a couple of good workarounds here: (a) make it so that BEEP does not occur when a dead key is pressed, either by hardcoding it, or by assigning some null function to the dead key press (b) disable beeping for unknown keys altogether.
 
May 20, 2008
9,144
58
Syracuse, NY, USA
It'd be nice to be able to turn off all beeping on keystrokes. I have no dead keys but I have never been fond of unassigned keys causing a beep.
 
May 30, 2008
81
0
Gerakas, Greece
Change your default beep (OPTION / Advanced) to something inaudible.
That's not really quite the answer though, is it? You want the beep occasionally (e.g. when trying to tab through a non-existent filename), just not when pressing a dead key (or any other unassigned key).



BTW, the dead keys that I found are:

1. Greek tonos (΄, i.e. you press ΄ (; on most keyboards) and a/α and you get ά, shift-΄ and ι to get ϊ): 0x00010027 (Greek keyboard)
2. Grave accent (`, i.e. press ` and a to get à, or shift-` and a to get ã) : 0x00010029 (US International)
3. Acute accent (', i.e. press ' and a to get á, shift-' and a to get ä): 0x00010027 (US International)
4. Circumflex (^, press Shift-6(^) and a to get â): 0x00010007 (US International)

You will notice that all of them have the "FBIT" set; I don't know if this helps at all... I still think it would be easier to *not* beep when entering an unknown/unhandled character, or if that fails, just allow binding of a null function to keys: Just as can you have for example HistWinOpen=Shift-F2, just put NullFunction=0x00010027 (multiple times if required, e.g. NullFunction=0x00010027, NullFunction=0x00010029 etc.)