Only in KeyRemap4MacBook-5.1.0: KeyRemap4MacBook-5.1.0.pkg
Only in KeyRemap4MacBook-5.1.0: KeyRemap4MacBook-5.1.0.pkg.tar.gz
Only in KeyRemap4MacBook-5.1.0.org: emacs+term.diff
Only in KeyRemap4MacBook-5.1.0/files: .DS_Store
diff -aru KeyRemap4MacBook-5.1.0.org/files/prefpane/checkbox.xml KeyRemap4MacBook-5.1.0/files/prefpane/checkbox.xml
--- KeyRemap4MacBook-5.1.0.org/files/prefpane/checkbox.xml	2008-05-20 21:00:48.000000000 +0900
+++ KeyRemap4MacBook-5.1.0/files/prefpane/checkbox.xml	2008-11-29 12:24:53.000000000 +0900
@@ -713,6 +713,14 @@
       <name>Emacs Mode</name>
       <list>
         <item>
+          <name>Command+W to Command+C</name>
+          <sysctl>option.emacsmode_commandW</sysctl>
+        </item>
+        <item>
+          <name>Control+G to ESC</name>
+          <sysctl>option.emacsmode_controlG</sysctl>
+        </item>
+        <item>
           <name>Control+D to Forward Delete</name>
           <sysctl>option.emacsmode_controlD</sysctl>
         </item>
@@ -733,6 +741,10 @@
           <sysctl>option.emacsmode_controlM</sysctl>
         </item>
         <item>
+          <name>Control+J to Return</name>
+          <sysctl>option.emacsmode_controlJ</sysctl>
+        </item>
+        <item>
           <name>Control+PNBF to Up/Down/Left/Right</name>
           <sysctl>option.emacsmode_controlPNBF</sysctl>
         </item>
@@ -745,10 +757,22 @@
           <sysctl>option.emacsmode_optionV</sysctl>
         </item>
         <item>
+          <name>Control+S to Command+F</name>
+          <sysctl>option.emacsmode_controlS</sysctl>
+        </item>
+        <item>
           <name>Command+V to PageUp</name>
           <sysctl>option.emacsmode_commandV</sysctl>
         </item>
         <item>
+          <name>Control+/ to Command+Z</name>
+          <sysctl>option.emacsmode_controlSLASH</sysctl>
+        </item>
+        <item>
+          <name>Control+Shift+/ to Command+Shift+Z</name>
+          <sysctl>option.emacsmode_controlshiftSLASH</sysctl>
+        </item>
+        <item>
           <name>Control+Y to Command+V</name>
           <sysctl>option.emacsmode_controlY</sysctl>
         </item>
@@ -761,6 +785,10 @@
           <sysctl>option.emacsmode_controlK</sysctl>
         </item>
         <item>
+          <name>Option+W to Command+C</name>
+          <sysctl>option.emacsmode_optionW</sysctl>
+        </item>
+        <item>
           <name>Option+BF to Option+Left/Right</name>
           <sysctl>option.emacsmode_optionBF</sysctl>
         </item>
@@ -781,7 +809,7 @@
           <sysctl>option.emacsmode_ex_controlQ</sysctl>
         </item>
         <item>
-          <name>[ex] Control+W to Option+Delete</name>
+          <name>[ex] Control+W to Command+X</name>
           <sysctl>option.emacsmode_ex_controlW</sysctl>
         </item>
         <item>
@@ -1015,6 +1043,10 @@
           <name>Enable at only Terminal</name>
           <list>
             <item>
+              <name>Remap Control+/ to Control+SHIFT+-</name>
+              <sysctl>remap.app_term_controlSlash</sysctl>
+            </item>
+            <item>
               <name>Remap Command_L to Option_L</name>
               <sysctl>remap.app_term_commandL2optionL</sysctl>
             </item>
diff -aru KeyRemap4MacBook-5.1.0.org/files/share/reset KeyRemap4MacBook-5.1.0/files/share/reset
--- KeyRemap4MacBook-5.1.0.org/files/share/reset	2008-05-26 00:47:27.000000000 +0900
+++ KeyRemap4MacBook-5.1.0/files/share/reset	2008-11-29 12:26:43.000000000 +0900
@@ -126,18 +126,25 @@
 remap.commandTab2f5 0
 remap.optionTab2commandTab 0
 remap.optionTab2f5 0
+option.emacsmode_commandW 0
+option.emacsmode_controlG 0
 option.emacsmode_controlD 0
 option.emacsmode_controlH 0
 option.emacsmode_controlI 0
 option.emacsmode_controlLeftbracket 0
 option.emacsmode_controlM 0
+option.emacsmode_controlJ 0
 option.emacsmode_controlPNBF 0
 option.emacsmode_controlV 0
 option.emacsmode_optionV 0
+option.emacsmode_controlS 0
 option.emacsmode_commandV 0
+option.emacsmode_controlSLASH 0
+option.emacsmode_controlshiftSLASH 0
 option.emacsmode_controlY 0
 option.emacsmode_controlAE 0
 option.emacsmode_controlK 0
+option.emacsmode_optionW 0
 option.emacsmode_optionBF 0
 option.emacsmode_optionD 0
 option.emacsmode_optionLtGt 0
@@ -181,6 +188,7 @@
 option.keypad2spaces_modifier_shift 0
 remap.app_vm_commandspace2optionbackquote 0
 remap.app_finder_return2commandO 0
+remap.app_term_controlSlash 0
 remap.app_term_commandL2optionL 0
 remap.qwerty2colemak 0
 remap.pc_application2commandL 0
Only in KeyRemap4MacBook-5.1.0/src/core: .DS_Store
diff -aru KeyRemap4MacBook-5.1.0.org/src/core/kext/keycode.hpp KeyRemap4MacBook-5.1.0/src/core/kext/keycode.hpp
--- KeyRemap4MacBook-5.1.0.org/src/core/kext/keycode.hpp	2008-05-21 01:54:33.000000000 +0900
+++ KeyRemap4MacBook-5.1.0/src/core/kext/keycode.hpp	2008-11-29 09:52:17.000000000 +0900
@@ -81,7 +81,9 @@
       F = 3,
       H = 4,
       G = 5,
+	  Z = 6,
       X = 7,
+	  C = 8,
       V = 9,
       B = 11,
       Q = 12,
diff -aru KeyRemap4MacBook-5.1.0.org/src/core/kext/remap.cpp KeyRemap4MacBook-5.1.0/src/core/kext/remap.cpp
--- KeyRemap4MacBook-5.1.0.org/src/core/kext/remap.cpp	2008-05-25 23:46:19.000000000 +0900
+++ KeyRemap4MacBook-5.1.0/src/core/kext/remap.cpp	2008-11-29 12:25:06.000000000 +0900
@@ -1258,9 +1258,21 @@
 
     bool ignore = is_terminal || is_virtualmachine || is_x11;
 
+    if (allFlagStatus.isHeldDown_command()) {
+		// Command+W -> Command+C
+		if (config.option_emacsmode_commandW && *(params.key) == KeyCode::W && ! ignore) {
+			*(params.key) = KeyCode::C;
+		}
+    }
+
     if (allFlagStatus.isHeldDown_control()) {
       bool cancel_control = false;
 
+	  // Control+G -> ESC
+      if (config.option_emacsmode_controlG && *(params.key) == KeyCode::G && ! ignore) {
+          *(params.key) = KeyCode::ESCAPE;
+          cancel_control = true;
+      }
       // Control+D -> FORWARD_DELETE
       if (config.option_emacsmode_controlD && *(params.key) == KeyCode::D) {
         bool doremap = ! ignore;
@@ -1309,6 +1321,11 @@
           cancel_control = true;
         }
       }
+      // Control+J -> RETURN
+      if (config.option_emacsmode_controlJ && *(params.key) == KeyCode::J && ! ignore) {
+          *(params.key) = KeyCode::RETURN;
+          cancel_control = true;
+      }
       // Control+[ -> ESCAPE
       if (config.option_emacsmode_controlLeftbracket && *(params.key) == KeyCode::BRACKET_LEFT) {
         bool doremap = ! ignore;
@@ -1353,15 +1370,36 @@
       }
       // Control+V -> PAGEDOWN
       if (config.option_emacsmode_controlV && *(params.key) == KeyCode::V && ! ignore) {
-        *(params.key) = KeyCode::PAGEDOWN;
-        cancel_control = true;
+			*(params.key) = KeyCode::PAGEDOWN;
+			cancel_control = true;
+
+      }
+      // Control+/ -> Command+Z
+      if (config.option_emacsmode_controlSLASH && *(params.key) == KeyCode::SLASH && ! ignore) {
+			*(params.key) = KeyCode::Z;
+			allFlagStatus.commandL.temporary_increase();
+			cancel_control = true;
+      }
+      // Control+Shift+/ -> Command+Shift+Z
+      if (config.option_emacsmode_controlshiftSLASH && *(params.key) == KeyCode::SLASH && ! ignore) {
+		if (! allFlagStatus.isHeldDown_shift()) return;
+			*(params.key) = KeyCode::Z;
+			allFlagStatus.shiftL.temporary_increase();
+			allFlagStatus.commandL.temporary_increase();
+			cancel_control = true;
+      } 
+	  // Control+S -> Command+F
+      if (config.option_emacsmode_controlS && *(params.key) == KeyCode::S && ! ignore) {
+          *(params.key) = KeyCode::F;
+		  allFlagStatus.commandL.temporary_increase();
+          cancel_control = true;
       }
       // Control+Y -> Command+V
       // *** Note: You need to handle option_emacsmode_controlY after option_emacsmode_controlV ***
       if (config.option_emacsmode_controlY && *(params.key) == KeyCode::Y && ! ignore) {
-        *(params.key) = KeyCode::V;
-        allFlagStatus.commandL.temporary_increase();
-        cancel_control = true;
+			*(params.key) = KeyCode::V;
+			allFlagStatus.commandL.temporary_increase();
+			cancel_control = true;
       }
       // Control+AE -> Command+LEFT/Right
       if (config.option_emacsmode_controlAE) {
@@ -1414,10 +1452,10 @@
         *(params.key) = KeyCode::PAGEUP;
         cancel_control = true;
       }
-      // Control+W -> Option+DELETE
+      // Control+W -> Command+X
       if (config.option_emacsmode_ex_controlW && *(params.key) == KeyCode::W && ! ignore) {
-        *(params.key) = KeyCode::DELETE;
-        allFlagStatus.optionL.temporary_increase();
+        *(params.key) = KeyCode::X;
+        allFlagStatus.commandL.temporary_increase();
         cancel_control = true;
       }
       // Control+U -> Command+Shift+Left,Command+X
@@ -1468,6 +1506,12 @@
     if (allFlagStatus.isHeldDown_option()) {
       bool cancel_option = false;
 
+      // Option+W -> Command+C
+      if (config.option_emacsmode_optionW && *(params.key) == KeyCode::W && ! ignore) {
+        *(params.key) = KeyCode::C;
+        allFlagStatus.commandL.temporary_increase();
+        cancel_option = true;
+      }
       // Option+V -> PAGEUP
       if (config.option_emacsmode_optionV && *(params.key) == KeyCode::V && ! ignore) {
         *(params.key) = KeyCode::PAGEUP;
@@ -1846,10 +1890,11 @@
   remap_app_term_commandL2optionL(const RemapParams &params)
   {
     if (! config.remap_app_term_commandL2optionL) return;
-
     if (! (params.activeApplicationInfo)->is_terminal) return;
 
+
     if (*(params.key) == KeyCode::COMMAND_L) {
+
       unsigned int flags = allFlagStatus.makeFlags(params);
       if (RemapUtil::isModifierOn(flags, ModifierFlag::COMMAND_L)) {
         allFlagStatus.optionL.increase();
@@ -1862,6 +1907,18 @@
     }
   }
 
+  void
+  remap_app_term_controlSlash(const RemapParams &params)
+  {
+    if (! config.remap_app_term_controlSlash) return;
+    if (! (params.activeApplicationInfo)->is_terminal) return;
+    if (*(params.key) == KeyCode::SLASH && allFlagStatus.isHeldDown_control()) {
+		if (! config.remap_app_term_controlSlash) return;
+		*(params.key) = KeyCode::MINUS;
+		allFlagStatus.shiftL.temporary_increase();
+	}
+  }
+
   // ----------------------------------------
   void
   remap_qwerty2colemak(const RemapParams &params)
@@ -2748,7 +2805,7 @@
   // *** Note: we need to call remap_app_term_commandL2optionL as possible late. ***
   // *** If any *2commandL remappings is enable, remap_app_term_commandL2optionL needs to handle it ***
   remap_app_term_commandL2optionL(params);
-
+  remap_app_term_controlSlash(params);
 
   // ------------------------------------------------------------
   *(params.flags) = allFlagStatus.makeFlags(params);
