GNOME Bugzilla – Bug 132154
Keyboard repeat rate and delay are saved as floats
Last modified: 2004-12-22 21:47:04 UTC
When I use <Menu>->Applications->Desktop Preferences->Keyboard to customize my settings, I get the following error (in a gwarning box): Type mismatch: Expected `int' got `float' for key /desktop/gnome/peripherals/keyboard/rate Type mismatch: Expected `int' got `float' for key /desktop/gnome/peripherals/keyboard/delay While this message is only annoying, the real problem is, that my keyboard is unusable since the float values are misinterpreted: When I press a key, it is printed twice are more often, i.e. the delay seems to be very short and the repeat speed very high. The only possibility to restore valid integer values is to use gconf editor, and to delete the bogus float values and to re-create them as integers. Here is some information about my installed GNOME packages: atk-1.5.2 gconf-editor-2.5.1,1 gconf2-2.5.1_1 gnomecontrolcenter2-2.5.2 gnomedesktop-2.5.3 libbonobo-2.5.3 libbonoboui-2.5.2 libgail-gnome-1.0.2_2 libglade2-2.3.2_1 libgnome-2.5.3 libgnomecanvas-2.5.3 libgnomeui-2.5.3 gtk-2.3.1
I can not replicate this with even moderately recent installs. Is it possible you had an old key kicking around from some ancient install ?
I also am experiencing this exact bug. Annoying, but made liveable by adding xset r rate 660 25 to gnome-session-properties. atk-1.7.2-1.1.fc2.nr gconf-editor-2.7.4-1.1.fc2.nr GConf2-2.7.3.1-1.1.fc2.nr libbonobo-2.6.2-1.1.fc2.nr libbonoboui-2.6.1-2.1.fc2.nr bonobo-1.0.22-9 glade2-2.6.0-2.1.fc2.nr libgnome-2.7.2-1.1.fc2.nr libgnomecanvas-2.7.1-1.1.fc2.nr libgnomeui-2.7.2-1.1.fc2.nr gtk2-2.5.0-1.1.fc2.nr
I had exactly the same issue last week-end with a jhbuilt gnome28 moduleset on a brand new debian testing install. So this doesn't seem FreeBSD specific. I poked a bit through the various code involved, but couldn't find anywhere where the delay setting is stored as a float. The schemas in $prefix/etc/gconf are OK, but the info stored in $HOME/.gconf/ reads "float". Note that manually changing the float to int doesn't solve it, because it gets overwritten again with the wrong type (and yes, the hand editing of the file under $HOME was done while no gconfd was running). This looks like a data corruption somewhere... I'm ready to dig into it a bit more, but I have no clue how to debug it.
I don't see this here. Is this still a problem? Could it be stale settings from earlier installs?
I tracked this problem down a while back. It was caused by running without the schema installed. That will still be a problem, but rather than defaulting to float when schemas are missing, we now default to int. Twelve of thirteen callers will get the result they expect rather than the converse. This patch is in 2.8