diff --git a/Manatee/Daemon.hs b/Manatee/Daemon.hs
--- a/Manatee/Daemon.hs
+++ b/Manatee/Daemon.hs
@@ -181,17 +181,18 @@
    ]
 
 -- | Interactivebar keymap.
-interactiveKeymap :: EditableClass ed => Map Text (ed -> IO ())
+interactiveKeymap :: Map Text (Environment -> Entry -> IO ())
 interactiveKeymap =
   M.fromList
-       [("Tab",          editableExpandCompletion)
-       ,("BackSpace",    editableDeleteBackwardChar)
-       ,("M-,",          editableDeleteBackwardChar)
-       ,("M-<",          editableDeleteBackwardWord)
-       ,("M-d",          editableDeleteAllText)
-       ,("M-x",          editableCutClipboard)
-       ,("M-c",          editableCopyClipboard)
-       ,("M-v",          editablePasteClipboard)]
+       [("Tab",          \ _ ed -> editableExpandCompletion ed)
+       ,("BackSpace",    \ _ ed -> editableDeleteBackwardChar ed)
+       ,("M-,",          \ _ ed -> editableDeleteBackwardChar ed)
+       ,("M-<",          \ _ ed -> editableDeleteBackwardWord ed)
+       ,("M-d",          \ _ ed -> editableDeleteAllText ed)
+       ,("M-x",          \ _ ed -> editableCutClipboard ed)
+       ,("M-c",          \ _ ed -> editableCopyClipboard ed)
+       ,("M-v",          interactivebarPasteClipboard)
+       ]
 
 -- | Local keymap for extension.
 localKeymap :: Keymap
@@ -761,20 +762,42 @@
 -- | Handle interactivebar key press event.  
 handleInteractivebarKeyPress :: Environment -> Text -> Interactivebar -> IO ()
 handleInteractivebarKeyPress env keystoke bar = do
-  let client = envDaemonClient env
-      entry = interactivebarEntry bar
+  -- Get entry.
+  let entry = interactivebarEntry bar
   -- Focus anything input entry.
   editableFocus entry
   -- Do action.
   isChanged <- 
       editableIsChanged entry $
           case M.lookup keystoke interactiveKeymap of
-            Just action -> action entry
+            Just action -> action env entry
             _ -> 
                 -- Insert character.
                 when (T.length keystoke == 1) $ do
                      unselectText <- editableGetUnselectText entry
                      editableSetText entry (unselectText ++ T.unpack keystoke)
+  -- Send key press signal.
+  sendAnythingViewKeyPress env entry keystoke isChanged
+
+-- | Paste clipboard to interactivebar.
+interactivebarPasteClipboard :: Environment -> Entry -> IO ()
+interactivebarPasteClipboard env ed = do
+  clipboard <- widgetGetClipboard ed selectionClipboard
+  clipboardRequestText clipboard $ \ text ->
+    text ?>= \ content -> do
+      -- Paste data from clipboard.
+      pos <- editableGetPosition ed
+      editableInsertText ed content pos
+      editableSetPosition ed (pos + length content)
+
+      -- Send key press signal.
+      sendAnythingViewKeyPress env ed "" True
+
+-- | Send anything key press.
+sendAnythingViewKeyPress :: EditableClass ed => Environment -> ed -> Text -> Bool -> IO ()
+sendAnythingViewKeyPress env entry keystoke isChanged = do
+  -- Get client.
+  let client = envDaemonClient env
   -- Get input string.
   allText <- editableGetAllText entry
   unselectText <- editableGetUnselectText entry
diff --git a/manatee.cabal b/manatee.cabal
--- a/manatee.cabal
+++ b/manatee.cabal
@@ -1,5 +1,5 @@
 name:			manatee
-version:		0.0.8
+version:		0.0.9
 Cabal-Version:	>= 1.6
 license:		GPL-3
 license-file:	LICENSE
