取り敢えずの実装を http://git.sourceforge.jp/view?p=yamy/yamy.git;a=commit;h=8b37a07125f1584affc27b1b5fb55221665ac7e3 でコミットした。
左・右・中ボタンとホイールの前進・後進が以下のキーイベントとして拾える。
def key LButton = E1-0x01 def key RButton = E1-0x02 def key MButton = E1-0x03 def key WheelForward = E1-0x04 def key WheelBackward = E1-0x05
デフォルトでは無効であり、設定ファイルで
def option mouse-event = trueと記述することにより有効化する。有効化する際には設定ファイルのどこかに
def key LButton = E1-0x01 def key RButton = E1-0x02 def key MButton = E1-0x03 def key WheelForward = E1-0x04 def key WheelBackward = E1-0x05を必ず記述する。さもなくばボタンイベントが発行されなくなり操作不能に陥る。レポジトリ内の {104,109}.mayu には記述済。
gimy への返信
さもなくばボタンイベントが発行されなくなり操作不能に陥る。レポジトリ内の {104,109}.mayu には記述済。
マウスイベントの定義がない場合にはそのままスルーして操作不能を回避できるようにした。
また置換できるマウスイベントを追加し
def key Drag = E1-0x00 def key LButton = E1-0x01 def key RButton = E1-0x02 def key MButton = E1-0x03 def key WheelForward = E1-0x04 def key WheelBackward = E1-0x05 def key XButton1 = E1-0x06 def key XButton2 = E1-0x07 def key TiltRight = E1-0x08 def key TiltLeft = E1-0x09とした。予定していた作業は終えたのでクローズとする。
WH_MOUSE_LL フックを利用してマウスボタンイベントをキーと同様に置換できるよう検討する。