I'm currently working on this. I haven't got a nice plugin for you but might be able to point you in the right direction.
First I copied the TouchInput static class and renamed it MouseInput (see attached). Using this you can get the start and current x/y coords of the drag. In the Scene_Map I altered a few methods and added this to the updateDestination method.
JavaScript:
if (MouseInput.isRightDragged()) {
var startX = $gameMap.canvasToMapX(MouseInput._startX);
var startY = $gameMap.canvasToMapY(MouseInput._startY);
var x = $gameMap.canvasToMapX(MouseInput.x);
var y = $gameMap.canvasToMapY(MouseInput.y);
var movedX = startX - x;
var movedY = startY - y;
if (movedX != 0 || movedY != 0) {
var endX = $gameMap.width() - $gameMap.screenTileX();
var endY = $gameMap.height() - $gameMap.screenTileY();
$gameMap._displayX = ($gameMap._displayX + (movedX - this._moveDistX)).clamp(0, endX);
$gameMap._displayY = ($gameMap._displayY + (movedY - this._moveDistY)).clamp(0, endY);
this._moveDistX = movedX;
this._moveDistY = movedY;
}
} else {
this._moveDistX = 0;
this._moveDistY = 0;
}
You will need to add the _moveDist variables to the class as well as alter the default movement code. I'm still working through this myself but did manage to get this to work by commenting out normal movement, menu, etc.
Probably better to override TouchInput as well instead of creating a separate Input helper. If you go with MouseInput you will need to add the update and initialize calls to the SceneManager.
Good luck