diff -ur roverlog-2.6.6-stock/rig.tcl roverlog-2.6.6/rig.tcl
--- roverlog-2.6.6-stock/rig.tcl	2010-04-27 10:08:29.000000000 -0400
+++ roverlog-2.6.6/rig.tcl	2010-04-06 15:52:35.000000000 -0400
@@ -85,6 +85,12 @@
         Debug "Serve_Request" "Play DVR Message $msg"
         Send_DVR_Play $msg
       }
+    } elseif {[string compare [ string range $line 0 3 ] "key!"] == 0} {
+      Debug "Serve_Request" "Received PTT KEY request"
+      Send_PTT_KEY
+    } elseif {[string compare [ string range $line 0 5 ] "dekey!"] == 0} {
+      Debug "Serve_Request" "Received PTT de-key request"
+      Send_PTT_DEKEY
     } elseif {[string compare $line "quit!"] == 0} {
       Net_Exit
     } elseif {[string compare $line ""] != 0} {
@@ -901,6 +907,45 @@
   return
 }
 
+proc Send_PTT_KEY {} {
+  switch -exact -- $::setting(rigtype) {
+      "Yaesu FT-897" {
+	  set b [ binary format H2H2H2H2H2 00 00 00 00 08 ]
+
+	  # debug
+	  Debug "Send_PTT_KEY" "Sending PTT KEY ON"
+	  Dump_Buffer $b
+
+	  # send the buffer
+	  Serial_Write $b
+      }
+      default {
+	  return
+      }
+  }
+    return
+}
+
+proc Send_PTT_DEKEY {} {
+  switch -exact -- $::setting(rigtype) {
+      "Yaesu FT-897" {
+	  set b [ binary format H2H2H2H2H2 00 00 00 00 88 ]
+
+	  # debug
+	  Debug "Send_PTT_DEKEY" "Sending PTT key off"
+	  Dump_Buffer $b
+
+	  # send the buffer
+	  Serial_Write $b
+      }
+      default {
+	  return
+      }
+  }
+    return
+}
+
+
 proc Send_DVR_Play { msg } {
   global stuff
 
