Details. I'm all about details. Had to expand the heading bar being used to set course. Let's say you're on course 216 and use the heading bar to set course to 70. You mouse out of the heading bar and the new course takes effect. You mouse back into the heading bar and you'll see this:
I have it maintain your desired course between course changes. In this example I'm turning to course 70 and am currently at 100. If I were to choose a new course now, the desired course will start where I selected the desired course presently turning to (which was 70). So a press of Q will result in 75 (or 71 if AdvancedHud is on) and a press of E will result in 65 (or 69 if AdvancedHud is on). Pretty cool

Once you are within 5 degrees of your desired course the desired course is reset (it becomes whatever the current sub's heading is during the update cycle).
The Q and E keys can be pressed simultaneously with the ctrl key (Advanced HUD key). This way you don't have to push the pushbutton on the UI to switch to Advanced HUD mode if you want to make fine course adjustments. Ordering up a new course does just that - a new course. The game doesn't try and turn the engines on if they aren't

That means if you're at all stop and you order up a new course it's going to be a long time before you reach that new course.
Locked out the new dial from causing any conflicts with the heading bar. You can order a new heading via dial and the heading bar's tooltip will show the current heading when you moused into it (Desired course = current sub heading at all times when using the dial to set course). You can override the dial's new course by setting a new course via the heading bar and vice versa.