Need more details. First what version of KiCad do you use and what system? Both of these can be answered by using the “Copy Version Info” button in the about window and pasting the results here. For example, this is my version information:
Application: Pcbnew
Version: (5.1.4)-1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.68.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.61.1
Compiler: GCC 8.2.0 with C++ ABI 1013
(Note, there is a known Windows bug that doesn’t properly report the system info to applications which is why KiCad is reporting Win8 on my Win10 computer.)
Second, how are you placing vias? I ask because I just tried to duplicate your issue on my install and could not replicate your experience.
What I did was while routing a track I pressed the V key (with or without shift works for me) and as soon as I left-clicked to place the via my routing layer changed to the opposite side (2 layer board). I also used the “Place Through Via” contextual menu item with the same results.
Legacy F9: place via with V
Modern F11 and F12: place via with V and rigth click with the mouse. After clicking you are on the other layer.
With the modern toolsets, V calls the via tool and then with click one places the via, not necessarily in the very same coordinates where V was pressed.
This seems to be a downgrade. For a 2-layer board it would be better as it is in F9 mode (auto-swap). As for "…not necessarily in the very same coordinates where V was pressed, well not ideal.
press V and move the mouse. The interactive router continues to run -> this ensures that the via can be placed without DRC violation and you still have control over its placement.
If V would immediately place the via then the via might be placed where you did not expect it to be placed if the current position is blocked by some other feature.
Remember the interactive router is not meant to be used like the old segment by segment (highlight collision) router. It is a semi automatic router. This requires some workflows to change.
Are you sure it is right click? by default it is the left mouse button that places vias. Have you possibly setup your system for a left handed mouse?
I think “place via and swap layers when V pressed” should be an option for the user; it might be preferable/faster not to have to click the mouse after pressing V.