Index: transmission-1.34/gtk/details.c
===================================================================
--- transmission-1.34.orig/gtk/details.c	2009-03-07 08:57:07.000000000 +0000
+++ transmission-1.34/gtk/details.c	2009-03-07 09:01:38.000000000 +0000
@@ -1101,6 +1101,7 @@
     i = tr_torrentGetSpeedLimit( tor, TR_DOWN );
     a = (GtkAdjustment*) gtk_adjustment_new (i, 0.0, G_MAXDOUBLE, 1, 1, 1);
     w = gtk_spin_button_new (a, 1, 0);
+    hildon_gtk_entry_set_input_mode(w, HILDON_GTK_INPUT_MODE_NUMERIC);
     g_signal_connect (w, "value-changed", G_CALLBACK(dl_speed_spun_cb), gtor);
     g_signal_connect (tb, "toggled", G_CALLBACK(sensitize_from_check_cb), w);
     sensitize_from_check_cb (GTK_TOGGLE_BUTTON(tb), w);
@@ -1114,6 +1115,7 @@
     i = tr_torrentGetSpeedLimit( tor, TR_UP );
     a = (GtkAdjustment*) gtk_adjustment_new (i, 0.0, G_MAXDOUBLE, 1, 1, 1);
     w = gtk_spin_button_new (a, 1, 0);
+    hildon_gtk_entry_set_input_mode(w, HILDON_GTK_INPUT_MODE_NUMERIC);
     g_signal_connect (w, "value-changed", G_CALLBACK(ul_speed_spun_cb), gtor);
     g_signal_connect (tb, "toggled", G_CALLBACK(sensitize_from_check_cb), w);
     sensitize_from_check_cb (GTK_TOGGLE_BUTTON(tb), w);
@@ -1124,6 +1126,7 @@
 
     maxConnectedPeers = tr_torrentGetPeerLimit( tor );
     w = gtk_spin_button_new_with_range( 1, 3000, 5 );
+    hildon_gtk_entry_set_input_mode(w, HILDON_GTK_INPUT_MODE_NUMERIC);
     gtk_spin_button_set_value( GTK_SPIN_BUTTON( w ), maxConnectedPeers );
     hig_workarea_add_row( t, &row, _( "_Maximum peers:" ), w, w );
     g_signal_connect( w, "value-changed", G_CALLBACK( max_peers_spun_cb ), gtor );
Index: transmission-1.34/gtk/tr-prefs.c
===================================================================
--- transmission-1.34.orig/gtk/tr-prefs.c	2009-03-07 08:57:11.000000000 +0000
+++ transmission-1.34/gtk/tr-prefs.c	2009-03-07 09:00:53.000000000 +0000
@@ -173,6 +173,7 @@
 new_spin_button( const char * key, gpointer core, int low, int high, int step )
 {
     GtkWidget * w = gtk_spin_button_new_with_range( low, high, step );
+    hildon_gtk_entry_set_input_mode(w, HILDON_GTK_INPUT_MODE_NUMERIC);
     g_object_set_data_full( G_OBJECT(w), PREF_KEY, g_strdup(key), g_free );
     gtk_spin_button_set_digits( GTK_SPIN_BUTTON(w), 0 );
     gtk_spin_button_set_value( GTK_SPIN_BUTTON(w), pref_int_get(key) );
@@ -828,6 +829,7 @@
         /* password */
         s = _( "Pass_word:" );
         w = new_entry( PREF_KEY_RPC_PASSWORD, core );
+	hildon_gtk_entry_set_input_mode(w, HILDON_GTK_INPUT_MODE_FULL | HILDON_GTK_INPUT_MODE_INVISIBLE);
         gtk_entry_set_visibility( GTK_ENTRY( w ), FALSE );
         page->auth_widgets = g_slist_append( page->auth_widgets, w );
         w = hig_workarea_add_row( t, &row, s, w, NULL );
@@ -1043,6 +1045,7 @@
 
         s = _( "Pass_word:" );
         w = new_entry( PREF_KEY_PROXY_PASSWORD, core );
+	hildon_gtk_entry_set_input_mode(w, HILDON_GTK_INPUT_MODE_FULL | HILDON_GTK_INPUT_MODE_INVISIBLE);
         gtk_entry_set_visibility( GTK_ENTRY( w ), FALSE );
         page->proxy_auth_widgets = g_slist_append( page->proxy_auth_widgets, w );
         w = hig_workarea_add_row( t, &row, s, w, NULL );
