Hi,

The fowolling two patches change the behaviour of pc-kbd slightly. The
first patch makes left-shift+pgup/pgdown work like
right-shift+pgup/pgdown, i.e. it scrolls the screen up or down by half a
screenful. The second patch might be more controversial, it makes
caps-lock behave like ctrl, as is already the case in the Mach console.


enjoy,

Michael

2004-11-14  Michael Banck  <[EMAIL PROTECTED]>

        * pc-kbd.c (input_loop): Make the left shift and page-up/down
        key combinations scroll the console up or down by half a screenful.

--- pc-kbd.c.orig       2004-11-14 15:50:07.000000000 +0100
+++ pc-kbd.c    2004-11-14 15:50:14.000000000 +0100
@@ -1065,6 +1065,10 @@
            console_scrollback (CONS_SCROLL_DELTA_SCREENS, 0.5);
          else if (state.right_shift && down && sc == SC_X1_PGDN) /* XXX */
            console_scrollback (CONS_SCROLL_DELTA_SCREENS, -0.5);
+         else if (state.left_shift && down && sc == SC_X1_PGUP) /* XXX */
+           console_scrollback (CONS_SCROLL_DELTA_SCREENS, 0.5);
+         else if (state.left_shift && down && sc == SC_X1_PGDN) /* XXX */
+           console_scrollback (CONS_SCROLL_DELTA_SCREENS, -0.5);
          else if (down && sc < sizeof (sc_x1_to_kc)/sizeof (sc_x1_to_kc[0]))
            {
              if (modifier >= 0 && sc_x1_to_kc[sc][modifier])

2004-11-14  Michael Banck  <[EMAIL PROTECTED]>

        * pc_kbd.c (input_loop): Make the caps lock key behave like ctrl.

--- pc-kbd.c.orig       2004-11-14 15:52:27.000000000 +0100
+++ pc-kbd.c    2004-11-14 15:55:24.000000000 +0100
@@ -805,17 +805,7 @@
          else if (sc == SC_RIGHT_SHIFT)
            state.right_shift = down;
          else if (sc == SC_CAPSLOCK)
-           {
-             if (down && !state.caps_lock_pressed)
-               {
-                 state.caps_lock = !state.caps_lock;
-                 state.caps_lock_pressed = 1;
-                 led_state.caps_lock = state.caps_lock;
-                 update_leds ();
-               }
-             else if (!down)
-               state.caps_lock_pressed = 0;
-           }
+           state.left_ctrl = down;
          else if (sc == SC_LEFT_CTRL)
            state.left_ctrl = down;
          else if (sc == SC_LEFT_ALT)


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-hurd

Reply via email to