インプットインターセプション 
ユーザーのキーボード入力およびマウス入力を捕捉するサービス。
com.sun.star.awt.XUserInputInterception インターフェースのメソッドを利用してハンドラを設定します。
キーハンドラ 
キーリスナーには com.sun.star.awt.XKeyHandler を利用します。キーハンドラの設定は addKeyHandler メソッドで、削除は removeKeyHandler メソッドを利用します。
Sub inputinterception_1
oDoc = ThisComponent
oController = oDoc.getCurrentController()
oKeyHandler = CreateUnoListener( _
"KeyHandler_","com.sun.star.awt.XKeyHandler")
oController.addKeyHandler(oKeyHandler)
End Sub
Function KeyHandler_keyPressed( oEv )
If oEv.KeyChar = "a" Then
KeyHandler_keyPressed = True
Else
KeyHandler_keyPressed = False
End If
End Function
Function KeyHandler_keyReleased( oEv )
KeyHandler_keyReleased = False
End Function
Sub KeyHandler_disposing( oEv )
End Sub
keyPressed メソッドおよび keyReleased の返り値が True のときには他のハンドラが呼ばれません。False を戻すときには他のハンドラが呼ばれます。
上記の例では "a" キーを押すときキー操作が無効化されます。そのほかのキーは普通に動作します。
マウスハンドラ 
Sub inputinterception_2
oDoc = ThisComponent
oController = oDoc.getCurrentController()
oMouseHandler = CreateUnoListener( _
"MouseClickHandler_","com.sun.star.awt.XMouseClickHandler")
oController.addMouseClickHandler(oMouseHandler)
End Sub
Function MouseClickHandler_mousePressed( oEv ) As Boolean
If oEv.Buttons = com.sun.star.awt.MouseButton.RIGHT Then
MouseHandler_mousePressed = False
Else
MouseHandler_mousePressed = True
End If
End Function
Function MouseClickHandler_mouseReleased( oEv ) As Boolean
MouseClickHandler_mouseReleased = False
End Function
Sub MouseClickHandler_disposing( oEv )
End Sub