Dead keys cause beep to sound

  • This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
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 :)
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.
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.)