tags 221290 + patch tags 221290 - l10n thanks Hi,
At last I discovered that bug report :) I indeed noticed the strange behavior and was never able to reproduce it reliably. So now it's done, and now I understand. This is not a bug, this is a feature: as said in manual, getty detects tty parity and control characters, which is quite nice in many situations, but not 8bit ones. Here, the umlauted letter you type is considered as a 7bit character with a 8th bit parity. The 7 lower bits are then interpreted (wrong). So detection is really not reliable in 8bit environments (be it utf-8 or not). What I suggest then is the attached patch: just adding a -8 option that makes agetty assume that the tty is 8bits and hence disable parity detection. Adding that option in /etc/inittab for new installs should then be fine: 1:2345:respawn:/sbin/getty -8 38400 tty1 etc. Note: with this patch, 8bit characters are just silently dropped (that's the expected getty behavior), this is quite neat since you then don't even need to backspace your 8bit characters :) Samuel
Index: Programs/api_client.c =================================================================== --- Programs/api_client.c (r�vision 2675) +++ Programs/api_client.c (copie de travail) @@ -1192,22 +1192,24 @@ { int res; unsigned int size = handle->brlx * handle->brly; - char text[size+1]; - unsigned char attrAnd[size], attrOr[size]; brlapi_writeStruct ws = BRLAPI_WRITESTRUCT_INITIALIZER; if (size == 0) { brlapi_errno=BRLERR_INVALID_PARAMETER; return -1; } - memset(text, ' ', size); - text[size] = 0; - ws.text = text; - memcpy(attrOr, dots, size); - ws.attrOr = attrOr; - memset(attrAnd, 0, size); - ws.attrAnd = attrAnd; - ws.cursor = 0; - res = brlapi__write(handle,&ws); + { + char text[size+1]; + unsigned char attrAnd[size], attrOr[size]; + memset(text, ' ', size); + text[size] = 0; + ws.text = text; + memcpy(attrOr, dots, size); + ws.attrOr = attrOr; + memset(attrAnd, 0, size); + ws.attrAnd = attrAnd; + ws.cursor = 0; + res = brlapi__write(handle,&ws); + } return res; }