長文失礼します

プラットフォーム
 Windows for x64
コントローラー
 特定のゲーム用の専用コントローラーでHIDのゲームパッドだが、搭載されている一部のデバイスが
 ありきたりなUSB HIDゲームパッドのレポートではカバー出来ず、アナログスティックとして独自フォーマットで送出される
ゲーム
 SharpDXを使っている.NETアプリ
 標準的なキーボード入力とゲームパッド入力(多分DirectInput)しか備えず上記のコントローラが吐き出す独自フォーマットは解釈出来ない
やりたいこと
 コントローラーでゲームをプレイしたい
自分のスキル
 いつもはインタプリタ、必要に応じてC/アセンブラ。C++はよく判らない。C#/.NETはもっと判らない
 作る物は基本CLIアプリでGUIに関するアプリは滅多に作らない(GUIやWin周りは詳しくない)

考えた案
1.ゲームをリバースエンジニアリングしパッチを当てる
 .NETアプリの解析なんてやったことがない。バージョンアップのたびにパッチを当てる必要がある
2.JoyToKey方式
 一番楽そう?ゲームと同時にゲームパッドの入力を取得出来るのなら良い感じに出来るかも
3ー1.ラッパーDLL
 運用性は良さそう。でも.NETに関するDLLの解析とか未知
3ー2.SharpDXの改造
 いけそうだけどDirectXやSharpDXの動作を熟知していないと難しい?
4.ゲームが対応してくれるのを待つ
 なるべく早く遊びたいので却下

他にこんな方法があるよとか、××が参考になるよとかあったらアドバイスをもらえると助かります
JoyToKeyもどきをつくるCのテンプレートコードみたいなのがあれば大変ありがたいですが・・・