diff --git a/indra/newview/app_settings/keysZQSD.ini b/indra/newview/app_settings/keysZQSD.ini
new file mode 100644
index 000000000..3510587c3
--- /dev/null
+++ b/indra/newview/app_settings/keysZQSD.ini
@@ -0,0 +1,362 @@
+# keys.ini
+#
+# keyboard binding initialization
+#
+# comments must have # in the first column
+# blank lines OK
+#
+# Format:
+# mode key mask function
+#
+# mode must be one of FIRST_PERSON, THIRD_PERSON, EDIT, EDIT_AVATAR, or CONVERSATION
+# key must be upper case, or SPACE, HOME, END, PGUP, PGDN, LEFT, RIGHT, UP, DOWN,
+# or one of ,.;'[]
+# mask must be NONE, SHIFT, ALT, ALT_SHIFT.
+# Control is reserved for user commands.
+# function must be a function named in llkeyboard.cpp
+
+FIRST_PERSON Q NONE slide_left
+FIRST_PERSON D NONE slide_right
+FIRST_PERSON Z NONE push_forward
+FIRST_PERSON S NONE push_backward
+FIRST_PERSON E NONE jump
+FIRST_PERSON C NONE push_down
+FIRST_PERSON F NONE toggle_fly
+
+FIRST_PERSON LEFT NONE slide_left
+FIRST_PERSON RIGHT NONE slide_right
+FIRST_PERSON UP NONE push_forward
+FIRST_PERSON DOWN NONE push_backward
+FIRST_PERSON PGUP NONE jump
+FIRST_PERSON PGDN NONE push_down
+FIRST_PERSON HOME NONE toggle_fly
+
+FIRST_PERSON PAD_LEFT NONE slide_left
+FIRST_PERSON PAD_RIGHT NONE slide_right
+FIRST_PERSON PAD_UP NONE push_forward
+FIRST_PERSON PAD_DOWN NONE push_backward
+FIRST_PERSON PAD_PGUP NONE jump
+FIRST_PERSON PAD_PGDN NONE push_down
+FIRST_PERSON PAD_HOME NONE toggle_fly
+FIRST_PERSON PAD_CENTER NONE stop_moving
+FIRST_PERSON PAD_ENTER NONE start_chat
+FIRST_PERSON PAD_DIVIDE NONE start_gesture
+
+FIRST_PERSON Q SHIFT slide_left
+FIRST_PERSON D SHIFT slide_right
+FIRST_PERSON Z SHIFT push_forward
+FIRST_PERSON S SHIFT push_backward
+FIRST_PERSON E SHIFT jump
+FIRST_PERSON C SHIFT toggle_down
+FIRST_PERSON F SHIFT toggle_fly
+
+FIRST_PERSON SPACE NONE stop_moving
+FIRST_PERSON ENTER NONE start_chat
+FIRST_PERSON DIVIDE NONE start_gesture
+FIRST_PERSON / NONE start_gesture
+
+FIRST_PERSON LEFT SHIFT slide_left
+FIRST_PERSON RIGHT SHIFT slide_right
+FIRST_PERSON UP SHIFT push_forward
+FIRST_PERSON DOWN SHIFT push_backward
+FIRST_PERSON PGUP SHIFT jump
+FIRST_PERSON PGDN SHIFT toggle_down
+
+FIRST_PERSON PAD_LEFT SHIFT slide_left
+FIRST_PERSON PAD_RIGHT SHIFT slide_right
+FIRST_PERSON PAD_UP SHIFT push_forward
+FIRST_PERSON PAD_DOWN SHIFT push_backward
+FIRST_PERSON PAD_PGUP SHIFT jump
+FIRST_PERSON PAD_PGDN SHIFT toggle_down
+FIRST_PERSON PAD_HOME SHIFT toggle_fly
+FIRST_PERSON PAD_ENTER SHIFT start_chat
+FIRST_PERSON PAD_DIVIDE SHIFT start_gesture
+
+THIRD_PERSON Q NONE turn_left
+THIRD_PERSON D NONE turn_right
+THIRD_PERSON Q SHIFT slide_left
+THIRD_PERSON D SHIFT slide_right
+THIRD_PERSON Z NONE push_forward
+THIRD_PERSON S NONE push_backward
+THIRD_PERSON Z SHIFT push_forward
+THIRD_PERSON S SHIFT push_backward
+THIRD_PERSON E NONE jump
+THIRD_PERSON C NONE push_down
+THIRD_PERSON E SHIFT jump
+THIRD_PERSON C SHIFT toggle_down
+
+THIRD_PERSON F NONE toggle_fly
+THIRD_PERSON F SHIFT toggle_fly
+
+THIRD_PERSON SPACE NONE stop_moving
+THIRD_PERSON ENTER NONE start_chat
+THIRD_PERSON DIVIDE NONE start_gesture
+THIRD_PERSON / NONE start_gesture
+
+THIRD_PERSON LEFT NONE turn_left
+THIRD_PERSON LEFT SHIFT slide_left
+THIRD_PERSON RIGHT NONE turn_right
+THIRD_PERSON RIGHT SHIFT slide_right
+THIRD_PERSON UP NONE push_forward
+THIRD_PERSON DOWN NONE push_backward
+THIRD_PERSON UP SHIFT push_forward
+THIRD_PERSON DOWN SHIFT push_backward
+THIRD_PERSON PGUP NONE jump
+THIRD_PERSON PGDN NONE push_down
+THIRD_PERSON PGUP SHIFT jump
+THIRD_PERSON PGDN SHIFT toggle_down
+THIRD_PERSON HOME SHIFT toggle_fly
+THIRD_PERSON HOME NONE toggle_fly
+
+THIRD_PERSON PAD_LEFT NONE turn_left
+THIRD_PERSON PAD_LEFT SHIFT slide_left
+THIRD_PERSON PAD_RIGHT NONE turn_right
+THIRD_PERSON PAD_RIGHT SHIFT slide_right
+THIRD_PERSON PAD_UP NONE push_forward
+THIRD_PERSON PAD_DOWN NONE push_backward
+THIRD_PERSON PAD_UP SHIFT push_forward
+THIRD_PERSON PAD_DOWN SHIFT push_backward
+THIRD_PERSON PAD_PGUP NONE jump
+THIRD_PERSON PAD_PGDN NONE push_down
+THIRD_PERSON PAD_PGUP SHIFT jump
+THIRD_PERSON PAD_PGDN SHIFT toggle_down
+THIRD_PERSON PAD_HOME NONE toggle_fly
+THIRD_PERSON PAD_HOME SHIFT toggle_fly
+THIRD_PERSON PAD_CENTER NONE stop_moving
+THIRD_PERSON PAD_CENTER SHIFT stop_moving
+THIRD_PERSON PAD_ENTER NONE start_chat
+THIRD_PERSON PAD_ENTER SHIFT start_chat
+THIRD_PERSON PAD_DIVIDE NONE start_gesture
+THIRD_PERSON PAD_DIVIDE SHIFT start_gesture
+
+# Camera controls in third person on Alt
+THIRD_PERSON LEFT ALT spin_around_cw
+THIRD_PERSON RIGHT ALT spin_around_ccw
+THIRD_PERSON UP ALT move_forward
+THIRD_PERSON DOWN ALT move_backward
+THIRD_PERSON PGUP ALT spin_over
+THIRD_PERSON PGDN ALT spin_under
+
+THIRD_PERSON Q ALT spin_around_cw
+THIRD_PERSON D ALT spin_around_ccw
+THIRD_PERSON Z ALT move_forward
+THIRD_PERSON S ALT move_backward
+THIRD_PERSON E ALT spin_over
+THIRD_PERSON C ALT spin_under
+
+THIRD_PERSON PAD_LEFT ALT spin_around_cw
+THIRD_PERSON PAD_RIGHT ALT spin_around_ccw
+THIRD_PERSON PAD_UP ALT move_forward
+THIRD_PERSON PAD_DOWN ALT move_backward
+THIRD_PERSON PAD_PGUP ALT spin_over
+THIRD_PERSON PAD_PGDN ALT spin_under
+THIRD_PERSON PAD_ENTER ALT start_chat
+THIRD_PERSON PAD_DIVIDE ALT start_gesture
+
+# mimic alt zoom behavior with keyboard only
+THIRD_PERSON Q CTL_ALT spin_around_cw
+THIRD_PERSON D CTL_ALT spin_around_ccw
+THIRD_PERSON Z CTL_ALT spin_over
+THIRD_PERSON S CTL_ALT spin_under
+THIRD_PERSON E CTL_ALT spin_over
+THIRD_PERSON C CTL_ALT spin_under
+
+THIRD_PERSON LEFT CTL_ALT spin_around_cw
+THIRD_PERSON RIGHT CTL_ALT spin_around_ccw
+THIRD_PERSON UP CTL_ALT spin_over
+THIRD_PERSON DOWN CTL_ALT spin_under
+THIRD_PERSON PGUP CTL_ALT spin_over
+THIRD_PERSON PGDN CTL_ALT spin_under
+
+THIRD_PERSON PAD_LEFT CTL_ALT spin_around_cw
+THIRD_PERSON PAD_RIGHT CTL_ALT spin_around_ccw
+THIRD_PERSON PAD_UP CTL_ALT spin_over
+THIRD_PERSON PAD_DOWN CTL_ALT spin_under
+THIRD_PERSON PAD_PGUP CTL_ALT spin_over
+THIRD_PERSON PAD_PGDN CTL_ALT spin_under
+THIRD_PERSON PAD_ENTER CTL_ALT start_chat
+THIRD_PERSON PAD_DIVIDE CTL_ALT start_gesture
+
+# Therefore pan on Alt-Shift
+THIRD_PERSON Q CTL_ALT_SHIFT pan_left
+THIRD_PERSON D CTL_ALT_SHIFT pan_right
+THIRD_PERSON Z CTL_ALT_SHIFT pan_up
+THIRD_PERSON S CTL_ALT_SHIFT pan_down
+
+THIRD_PERSON LEFT CTL_ALT_SHIFT pan_left
+THIRD_PERSON RIGHT CTL_ALT_SHIFT pan_right
+THIRD_PERSON UP CTL_ALT_SHIFT pan_up
+THIRD_PERSON DOWN CTL_ALT_SHIFT pan_down
+
+THIRD_PERSON PAD_LEFT CTL_ALT_SHIFT pan_left
+THIRD_PERSON PAD_RIGHT CTL_ALT_SHIFT pan_right
+THIRD_PERSON PAD_UP CTL_ALT_SHIFT pan_up
+THIRD_PERSON PAD_DOWN CTL_ALT_SHIFT pan_down
+THIRD_PERSON PAD_ENTER CTL_ALT_SHIFT start_chat
+THIRD_PERSON PAD_DIVIDE CTL_ALT_SHIFT start_gesture
+
+# Basic editing camera control
+EDIT Q NONE spin_around_cw
+EDIT D NONE spin_around_ccw
+EDIT Z NONE move_forward
+EDIT S NONE move_backward
+EDIT E NONE spin_over
+EDIT C NONE spin_under
+EDIT ENTER NONE start_chat
+EDIT DIVIDE NONE start_gesture
+EDIT / NONE start_gesture
+EDIT PAD_ENTER NONE start_chat
+EDIT PAD_DIVIDE NONE start_gesture
+
+EDIT LEFT NONE spin_around_cw
+EDIT RIGHT NONE spin_around_ccw
+EDIT UP NONE move_forward
+EDIT DOWN NONE move_backward
+EDIT PGUP NONE spin_over
+EDIT PGDN NONE spin_under
+
+EDIT Q SHIFT pan_left
+EDIT D SHIFT pan_right
+EDIT Z SHIFT pan_up
+EDIT S SHIFT pan_down
+
+EDIT LEFT SHIFT pan_left
+EDIT RIGHT SHIFT pan_right
+EDIT UP SHIFT pan_up
+EDIT DOWN SHIFT pan_down
+
+# Walking works with ALT held down.
+EDIT Q ALT slide_left
+EDIT D ALT slide_right
+EDIT Z ALT push_forward
+EDIT S ALT push_backward
+EDIT E ALT jump
+EDIT C ALT push_down
+
+EDIT LEFT ALT slide_left
+EDIT RIGHT ALT slide_right
+EDIT UP ALT push_forward
+EDIT DOWN ALT push_backward
+EDIT PGUP ALT jump
+EDIT PGDN ALT push_down
+EDIT HOME ALT toggle_fly
+
+EDIT PAD_LEFT ALT slide_left
+EDIT PAD_RIGHT ALT slide_right
+EDIT PAD_UP ALT push_forward
+EDIT PAD_DOWN ALT push_backward
+EDIT PAD_PGUP ALT jump
+EDIT PAD_PGDN ALT push_down
+EDIT PAD_ENTER ALT start_chat
+EDIT PAD_DIVIDE ALT start_gesture
+
+SITTING Q ALT spin_around_cw
+SITTING D ALT spin_around_ccw
+SITTING Z ALT move_forward
+SITTING S ALT move_backward
+SITTING E ALT spin_over_sitting
+SITTING C ALT spin_under_sitting
+
+SITTING LEFT ALT spin_around_cw
+SITTING RIGHT ALT spin_around_ccw
+SITTING UP ALT move_forward
+SITTING DOWN ALT move_backward
+SITTING PGUP ALT spin_over
+SITTING PGDN ALT spin_under
+
+SITTING Q CTL_ALT spin_around_cw
+SITTING D CTL_ALT spin_around_ccw
+SITTING Z CTL_ALT spin_over
+SITTING S CTL_ALT spin_under
+SITTING E CTL_ALT spin_over
+SITTING C CTL_ALT spin_under
+
+SITTING LEFT CTL_ALT spin_around_cw
+SITTING RIGHT CTL_ALT spin_around_ccw
+SITTING UP CTL_ALT spin_over
+SITTING DOWN CTL_ALT spin_under
+SITTING PGUP CTL_ALT spin_over
+SITTING PGDN CTL_ALT spin_under
+
+
+SITTING Q NONE spin_around_cw_sitting
+SITTING D NONE spin_around_ccw_sitting
+SITTING Z NONE move_forward_sitting
+SITTING S NONE move_backward_sitting
+SITTING E NONE spin_over_sitting
+SITTING C NONE spin_under_sitting
+
+SITTING LEFT NONE spin_around_cw_sitting
+SITTING RIGHT NONE spin_around_ccw_sitting
+SITTING UP NONE move_forward_sitting
+SITTING DOWN NONE move_backward_sitting
+SITTING PGUP NONE spin_over_sitting
+SITTING PGDN NONE spin_under_sitting
+
+SITTING PAD_LEFT NONE spin_around_cw_sitting
+SITTING PAD_RIGHT NONE spin_around_ccw_sitting
+SITTING PAD_UP NONE move_forward_sitting
+SITTING PAD_DOWN NONE move_backward_sitting
+SITTING PAD_PGUP NONE spin_over_sitting
+SITTING PAD_PGDN NONE spin_under_sitting
+SITTING PAD_CENTER NONE stop_moving
+SITTING PAD_ENTER NONE start_chat
+SITTING PAD_DIVIDE NONE start_gesture
+
+# these are for passing controls when sitting on vehicles
+SITTING Q SHIFT slide_left
+SITTING D SHIFT slide_right
+SITTING LEFT SHIFT slide_left
+SITTING RIGHT SHIFT slide_right
+
+SITTING PAD_LEFT SHIFT slide_left
+SITTING PAD_RIGHT SHIFT slide_right
+SITTING PAD_ENTER SHIFT start_chat
+SITTING PAD_DIVIDE SHIFT start_gesture
+
+# pan on Alt-Shift
+SITTING Q CTL_ALT_SHIFT pan_left
+SITTING D CTL_ALT_SHIFT pan_right
+SITTING Z CTL_ALT_SHIFT pan_up
+SITTING S CTL_ALT_SHIFT pan_down
+
+SITTING LEFT CTL_ALT_SHIFT pan_left
+SITTING RIGHT CTL_ALT_SHIFT pan_right
+SITTING UP CTL_ALT_SHIFT pan_up
+SITTING DOWN CTL_ALT_SHIFT pan_down
+
+SITTING PAD_LEFT CTL_ALT_SHIFT pan_left
+SITTING PAD_RIGHT CTL_ALT_SHIFT pan_right
+SITTING PAD_UP CTL_ALT_SHIFT pan_up
+SITTING PAD_DOWN CTL_ALT_SHIFT pan_down
+SITTING PAD_ENTER CTL_ALT_SHIFT start_chat
+SITTING PAD_DIVIDE CTL_ALT_SHIFT start_gesture
+
+SITTING ENTER NONE start_chat
+SITTING DIVIDE NONE start_gesture
+SITTING / NONE start_gesture
+
+# Avatar editing camera controls
+EDIT_AVATAR Q NONE edit_avatar_spin_cw
+EDIT_AVATAR D NONE edit_avatar_spin_ccw
+EDIT_AVATAR Z NONE edit_avatar_move_forward
+EDIT_AVATAR S NONE edit_avatar_move_backward
+EDIT_AVATAR E NONE edit_avatar_spin_over
+EDIT_AVATAR C NONE edit_avatar_spin_under
+EDIT_AVATAR LEFT NONE edit_avatar_spin_cw
+EDIT_AVATAR RIGHT NONE edit_avatar_spin_ccw
+EDIT_AVATAR UP NONE edit_avatar_move_forward
+EDIT_AVATAR DOWN NONE edit_avatar_move_backward
+EDIT_AVATAR PGUP NONE edit_avatar_spin_over
+EDIT_AVATAR PGDN NONE edit_avatar_spin_under
+EDIT_AVATAR ENTER NONE start_chat
+EDIT_AVATAR DIVIDE NONE start_gesture
+EDIT_AVATAR / NONE start_gesture
+EDIT_AVATAR PAD_LEFT NONE edit_avatar_spin_cw
+EDIT_AVATAR PAD_RIGHT NONE edit_avatar_spin_ccw
+EDIT_AVATAR PAD_UP NONE edit_avatar_move_forward
+EDIT_AVATAR PAD_DOWN NONE edit_avatar_move_backward
+EDIT_AVATAR PAD_PGUP NONE edit_avatar_spin_over
+EDIT_AVATAR PAD_PGDN NONE edit_avatar_spin_under
+EDIT_AVATAR PAD_ENTER NONE start_chat
+EDIT_AVATAR PAD_DIVIDE NONE start_gesture
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index adf07f656..a16ad388a 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -1032,6 +1032,17 @@ Found in Advanced->Rendering->Info Displays
Value
0
+ LiruUseZQSDKeys
+
SLBShowFPS