From c00e3a749c9290e25f4b8f05e2b7553448bc1c74 Mon Sep 17 00:00:00 2001 From: Jody Goldberg Date: Fri, 29 Mar 2002 17:21:23 +0000 Subject: [PATCH] click volume is an integer from 0..100, schema is an int too. Remove float 2002-03-29 Jody Goldberg * gnome-settings-keyboard.c (apply_settings) : click volume is an integer from 0..100, schema is an int too. Remove float and double and add some bounds checking. (set_server_from_gconf) : scale mk_time_to_max by mk_interval so that it is actually in msec. (set_gconf_from_server) : do the inverse here. --- gnome-settings-daemon/ChangeLog | 7 +++++++ .../gnome-settings-accessibility-keyboard.c | 5 +++-- gnome-settings-daemon/gnome-settings-keyboard.c | 13 ++++++++----- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/gnome-settings-daemon/ChangeLog b/gnome-settings-daemon/ChangeLog index 80073a17d..3496c65a4 100644 --- a/gnome-settings-daemon/ChangeLog +++ b/gnome-settings-daemon/ChangeLog @@ -1,11 +1,18 @@ 2002-03-29 Jody Goldberg + * gnome-settings-keyboard.c (apply_settings) : click volume is an + integer from 0..100, schema is an int too. Remove float and double + and add some bounds checking. + * gnome-settings-accessibility-keyboard.c : make the debug spew optional (set_server_from_gconf) : typo that only applied settings when we shouldn't. (set_server_from_gconf) : set the mouse key accel flag when mk is enabled so that we can actually set the accel parms. How did this work in X11R6 ? + (set_server_from_gconf) : scale mk_time_to_max by mk_interval so that + it is actually in msec. + (set_gconf_from_server) : do the inverse here. 2002-03-28 jacob berkman diff --git a/gnome-settings-daemon/gnome-settings-accessibility-keyboard.c b/gnome-settings-daemon/gnome-settings-accessibility-keyboard.c index 18eeca809..43ac3c50b 100644 --- a/gnome-settings-daemon/gnome-settings-accessibility-keyboard.c +++ b/gnome-settings-daemon/gnome-settings-accessibility-keyboard.c @@ -129,7 +129,7 @@ set_server_from_gconf (GConfEntry *ignored) desc->ctrls->mk_max_speed = get_int (client, /* pixels / event */ CONFIG_ROOT "/mousekeys_max_speed"); desc->ctrls->mk_time_to_max = get_int (client, /* events before max */ - CONFIG_ROOT "/mousekeys_accel_time"); + CONFIG_ROOT "/mousekeys_accel_time") / desc->ctrls->mk_interval; desc->ctrls->mk_delay = get_int (client, /* ms before 1st event */ CONFIG_ROOT "/mousekeys_init_delay"); @@ -212,8 +212,9 @@ set_gconf_from_server (GConfEntry *ignored) desc->ctrls->enabled_ctrls & XkbMouseKeysMask); set_int (client, CONFIG_ROOT "/mousekeys_max_speed", desc->ctrls->mk_max_speed); + /* NOTE : mk_time_to_max is measured in events not time */ set_int (client, CONFIG_ROOT "/mousekeys_accel_time", - desc->ctrls->mk_time_to_max); + desc->ctrls->mk_time_to_max * desc->ctrls->mk_interval); set_int (client, CONFIG_ROOT "/mousekeys_init_delay", desc->ctrls->mk_delay); diff --git a/gnome-settings-daemon/gnome-settings-keyboard.c b/gnome-settings-daemon/gnome-settings-keyboard.c index e0fd92814..97c42d9fd 100644 --- a/gnome-settings-daemon/gnome-settings-keyboard.c +++ b/gnome-settings-daemon/gnome-settings-keyboard.c @@ -44,8 +44,7 @@ apply_settings (void) gboolean repeat, click; int rate, delay; - int bell_volume, bell_pitch, bell_duration; - double volume; + int click_volume, bell_volume, bell_pitch, bell_duration; #ifdef HAVE_X11_EXTENSIONS_XF86MISC_H XF86MiscKbdSettings kbdsettings; @@ -59,7 +58,7 @@ apply_settings (void) click = gconf_client_get_bool (client, "/desktop/gnome/peripherals/keyboard/click", NULL); rate = gconf_client_get_int (client, "/desktop/gnome/peripherals/keyboard/rate", NULL); delay = gconf_client_get_int (client, "/desktop/gnome/peripherals/keyboard/delay", NULL); - volume = gconf_client_get_float (client, "/desktop/gnome/peripherals/keyboard/click_volume", NULL); + click_volume = gconf_client_get_int (client, "/desktop/gnome/peripherals/keyboard/click_volume", NULL); bell_volume = gconf_client_get_int (client, "/desktop/gnome/peripherals/keyboard/bell_volume", NULL); bell_pitch = gconf_client_get_int (client, "/desktop/gnome/peripherals/keyboard/bell_pitch", NULL); bell_duration = gconf_client_get_int (client, "/desktop/gnome/peripherals/keyboard/bell_duration", NULL); @@ -84,8 +83,12 @@ apply_settings (void) XAutoRepeatOff (GDK_DISPLAY ()); } - kbdcontrol.key_click_percent = - click ? volume : 0; + /* as percentage from 0..100 inclusive */ + if (click_volume < 0) + click_volume = 0; + else if (click_volume > 100) + click_volume = 100; + kbdcontrol.key_click_percent = click ? click_volume : 0; kbdcontrol.bell_percent = bell_volume; kbdcontrol.bell_pitch = bell_pitch; kbdcontrol.bell_duration = bell_duration;