Earlier quoted context omitted.
As a touch typist, can you please explain how function keys are particularly relevant to touch typing? Stepping through the debugger is not typing, and function keys change role according to the selected app anyway. And when they are system function keys (brightness, volume, etc) they are even more irrelevant to typing and/or touch typing. Besides, there's nothing particularly hard about finding a touch based F6 key…
You can feel the boundaries of physical keys, unlike virtual ones on a touchscreen. The nubs on F and J serve a similar aligning purpose as, and enhance the functionality of, the interkey gaps on the function key row. Stepping through the debugger is not typing, I disagree. E.g. when you're deciding to step in vs. step past vs. step out vs. run etc.; finding the right key is extremely important. ...and I challenge an…
I use a Logitech G910 keyboard (love those Romer G switches now, even though it took a while), and e.g. setting a break point with F9 is easy as it's the first key of the third block. For a debugging session, the rest follow - I can rest my fingers on the buttons and just step through / skip over etc - no need to look at all, the focus staying on the code.
Actually knowing when I press the button too is extremely important; there's no mistaking the action on a physical keyboard.
I also have a X1 Carbon laptop, the first gen. Fantastic keyboard (and thanks to getting the i7/8/256 version which was rather outstanding back then, it still serves me well today even though the 8gb is getting limiting). In its 2nd iteration, they went for capacitive function keys, much to just about everyone's chagrin. Thankfully, Lenovo listened to feedback and in its the 3rd generation the function keys are back to normal, i.e. same as mine. If they bring a 32gb model out by the time I feel I need to upgrade, I'll probably look at another one (in 1-2 years).