Shift + Up/Down/Left/Right

I have replaced GoToolManager with my own one and overriden OnKeyDown() to capture all keyboard input.
Everything works, but OnKeyDown() is not executed after pressing Shift+(Up/Down/Left/Right). To be precise: it is called after pressing Shift, but not an arrow key. Pressing Ctrl+arrow works.
What ‘steals’ keyboard input in case of Shift+arrow?

Windows Forms “steals” arrow keys, along with other “special” keys, according to the implementation of Control.IsInputKey (and other Control methods).

As long as you haven't disabled both GoViewDisableKeys.ArrowMove and .ArrowScroll in the settings for the GoView.DisableKeys property, GoView.IsInputKey will return true for the arrow keys.
Since you are overriding GoToolManager.DoKeyDown, you can just use the default value for GoView.DisableKeys, so you don't have to override Control.IsInputKey in order to receive arrow key events.

Fortunately overriding IsInputKey works. Thanks!

Even when I set DisableKeys to None, I’m still not able to capture Shift+arrow. Arrows alone work very well, Shift alone works, Ctrl+Shift+arrow also works, but it is only Shift+arrow which doesn’t work.

Ah, maybe that’s because Shift-arrowkey is a command key. If so, you’ll need to override Control.ProcessCmdKey for that.

I haven't tried that, so I'm not sure. I suspect all these issues have nothing to do with GoDiagram, but are just part of Windows (Forms).