There Are No Shortcuts: Complaining About Hotkeys


There are few things more rare and beautiful in this world than ergonomic and intuitive hotkeys.

Imagine you’re in the kitchen, fighting for your life at your big fancy restaurant, the party of the night showed up early and they are DISCERNING. You go to start breaking down the birds when you remember all your kitchen knives are out back in a locked box in the gutter drain. The seasoning is trapped inside a puzzle  box with clues written in Latin, and the only way to open the oven is to  exit the  building, close the door 3 times, and come back inside with a new set of clothes on.

This is what it's like trying to work with any number of "modern" tech software, where ergonomics and usability are the last thing on anyone's mind. Why make the service better! That'll just break stuff!

Just as I typed that i found my cursor just inside the period, and I wanted so badly to move that sucker to the right just one place. BUT I COULDN’T! Not without taking my right hand off the damn keybaord, finding the arrow keys, clicking the right arrow, and then returning back to the home keys, which I always manage to muck up and find myself typing an H when it shouldna been a J.

KAPOOY! (I swear on my life I typed that as “KAPLLY” at first as my hands fumble around this damn keyboard migrating between arrow keys and backspaces.

This keyboard has ONE JOB! And that’s the facilitate the punching of keys in the direction of coherent thought and yet a hundred years after its invention, we ARE STILL fumbling with this crap! 

We could Improve this input in a MULTITUDE of ways. Billions of people have keyboards, billions of people could come up with neat ideas to improve this typing process. Moving keys to better locations, creating a better shape, moving necessary keys to better positions and moving the less desirable ones elsewhere.

When was the last time you ever needed to press that weird button with the box on it to the left of control on the right side? It’s madness. No one even knows what that key does.

You know what’s crazier? Delete, Home, End, page up, page down, backspace, the arrow keys. HUGELY important buttons we barely ever use because we have to trek across the entire damn keyboard are the worst real estate on the entire board.

And look at that MASSIVE space bar! How much PRIME REAL ESTATE is taken up by that entire key that you NEVER press on the side? It’s just an absolute friggin’ waste.

Imagine if space was the size of the backspaces, but to the left was the home key and to the right was the end key. Now imagine if holding alt and pressing E moved upwards, S moved Left, D moved left, and F moved the cursor right. Make holding alt while pressing left bracket or quote keys would act as home and end.

My god the entire world would be 5% more productive in a matter of a month. And this change would start a sea change. People might start thinking to themselves, “What other stupid crap do we do in our day to day lives simply because that’s how we’ve done it for hundreds of years and the habits and reasonings behind all of those things no longer even exist.

We are the “Go through the motions” generation. We are the, “If it’s not broke don’t fix it generation”. The “I’m just going to submerge myself in podcasts and social media and water cooler talk and adopt my world view through osmosis society.”

I’m not kidding, I really want you to look at your keyboard, or imagine one and think about how wholly inneficeint, archaic and terribly utilized that sucker is for most all tasks we rely on them for. 

Perfect example. I’m on this hotkey kick, and I have it in my mind i’m going to press home, find that mispelled word “Inefficient” above with the extra “N” and find a way to bring up the spellcheck without having to take my damn hands off the keyboard and fix the word. Guess what, you CAN do it, but the hotkey is SHIFT + F10.

WHO COMES UP WITH THIS STUFF!? I FEEL LIKE I’M TAKING CRAZY PILLS ANY TIME I USE ANY SOFTWARE.

Press alt s, what does it do? IT DOES NOTHING. That super easily found keyboard shortcut doesnt’ do a damn thing. WTF are they doing assigning it to F10?

This is just the tip of the iceberg. I have been going down a rabbit hole setting up more contextual means of navigating using only the keyboard in Visual Studio, and the more ergonomic, powerful, and comfortable I’m getting with a revised keyboard shortcut layout, the more I’m questioning the fundamental sanity of society as a whole.

I want you to imagine a world where every action you might want to use exists in a well laid out, well organized visual interface and I wan’t you to imagine that anytime you master that visual interface, you could simply right click any single button, and have that button magically have its functionality now tied to that arrangement of keys you just pressed.

How absolutely bitchin would that be?

Does anyone get that? Like do people understand the absolute fundamental problems of tech?

Any time I use a software with really poor hotkeys, I just imagine a small group of coders, and they’re not the sort of people who use fancy software much, they’re the sort of people who are more comfortable navigating interfaces with combinations of arrow key presses and tabings, using alt + letters to navigate to menu options. And years into projects once the software starts to come online, they’re burned out and the last thing they want to do and worry about hotkeys.

And the higher ups don’t understand their importance, no one gives TED talks about how important hotkeys are. They’re like the red headed stepchild of software development.

And let’s say you do take the time to try to set up a hotkey, 99% of the time, you have to sort through some ungodly list of 40,000 different hotkeys, with insane naming conventions like select entire line = “Toggle.Editmode.FullselectoinInverseMod”.

Like, WTF are we doing as a people?

And if you do put in the effort to find the damn setting in that horrid mess, you might assign it to something like CTRL + SHIFT + F. Only to find out that simply because other keys use Control + F, or some other bizarre combination in some other contextual context, your newly assigned hotkey won’t even fire. No error message, no help eliminating conflicting hotkeys, NOPE! Tough luck! The developers can’t be bothered.

And is there some sort of universal hotkey file associated with your social security number or something? So if you like to press Shift + E to extrude in your 3d modeling software, or if you think B should be Brush in your sculpting or drawing software, or whatever, you will have that now set whenever you use digital tools? At the very least can you select between hotkey templates?

YOU WILL EAT YOUR HORRENDOUS CODER DICTATED ALIEN HORROR HOTKEY PLATTER AND IF YOU DON’T LIKE IT YOU CAN F*(K RIGHT OFF.

Don’t even get me started on the kinds of kinks and contextual modes you can enter where the entire keyboard gets flipped upside down.

Want to change the arrow keys from left, up, down, right? To WASD? WELL I HOPE YOU’RE READY TO PAINSTAIKINGLY PUNCH THEM IN ONE BY ONE! Are the hotkeys conveniently located next to each other with ANY SANITY WHATSOEVER!? Like you could search for them with “InputDirection” and bring up the functions of “InputDirectionUp, InputDirectionDown, InputDirectionLeft, InputDirectionRight”?

OF COURSE FUCKIGN NOT, THAT”S NOT PAINFUL ENOUGH FOR THIS HELLSCAPE OF DIGITAL BULLSHOT.

Of COURSE they are named “InputUpDirectoin” So if you search “input” you get 5000 friggin’ inputs to sort through! OH JOY! Search Down and you have 50 different things!

Ok, I lied. It’s not called “InputLeftDirection”, it’s actually called “InputPreviousCharacterDirection”.

Oh, and did you want this to also work with selecting more characters. Oh you sweet summer child, did you expect these keys to simply work with the global modifier key of Shift?

Better jump back into that hotkey editor again, that resets to a blank slate, and doesn’t remember a single thing you’ve changed, or have any sort of quality of life features like reverting sections of hotkeys back to originals, or displaying the small section of functions you’ve set to custom so you can quickly iterate and improve on them. The most obscure and silly functions no one ever uses are given just as much prominence as the most important most used things you might want to use.

Who is the sadistic asshole that decided these are the systems in which we customize and store our hotkeys?

I’m not kidding you when I say this stuff makes me question my sanity. I was just attempting to set hotkeys up in visual studio, it’s one of the fanciest, most feature complete, one of the most hardcore IDE’s out there. And if ANY piece of software in the universe was going to have a well created hotkey input interface, you would think this would be it.

And I’m just sitting here thinking of all the hundreds of thousands of coders who use this software, people who devote their entire lives to this, and we’re all still using these terrible hotkeys.

So I’m finally doing something about it. For a brief stint, I tried a purely keyboard approach to coding, I’d heard it was efficient, but the keyboard shortcuts were nothing but scattered, poorly arranged, no sense for letter recognition or importance in their locations, and key functionality was still in really poor locations.

To start, I began with the left side of the keyboard, and at first my goal was simply to improve the abysmal shortcut functionality. So I localized all the bookmark functionality to one location of the keyboard and I ditched the old hotkeys of CTRL + K / CTRL + K, CTRL + K / CTRL + L, CTRL + K / CTRL + W.

They have this really weird double press mechanic for hotkeys that I find to be terrible 90% of the time. If something is worth having a hotkey, give it a damn instant hotkey. There are SO MANY key features that don’t have hotkeys, because of some weird ass build functions very few people would ever use. I can’t quite put into words just how many damned functions they gave TERRIBLE friggin’ hotkeys to that make NO SENSE IN ANY FRIGGIN’ REGARD.

There is no thought to importance, no sense to the hotkeys sounding right (I put view bookmarks as “CTRL + B” isn’t that nice! EASY TO REMEMBER AND AN IMPORTANT HOTKEY).

Is it silly to get worked up something so trivial as hotkeys?

No, it isn’t. Because hotkeys aren’t trivial, and anyone who’s tried to use complex pieces of software or even typed into a word document would know that our systems for input are far from perfect, they are BEYOND far from perfect, they are FOOKING REDICULOUS.

I big part of why AI is so potent right now, is because a machine doesn’t have to extend its finger to press the backspace key, or move its hand over to press delete, home, the arrow keys, or grab the mouse just to right click and change a damn spelling mistake.

And even if you DO think hotkeys aren’t that big a deal, and you’re more the type of user that uses the buttons, I’m sure you can think a great many software that doesn’t give the buttons easily read icons, or names, or puts tremendously important features behind dropdown menus while legacy features no one even uses any more take up the front page of all the rollouts.

And we’ll kick and scream and smash the keyboard and wonder, “Does anyone even give a damn about this damned stuff!?”

And the answer is that for the most part, those who are in charge of managing these systems and keeping the software running really don’t care. They just don’t want to be yelled at. They crunched for years just trying to get the damned thing online. It works, and the legacy users and developers and the “old boys club” are kinda used to the keyboard setups as they are, why change it? Sure it’s broken but it serves that small group well enough.

It’s so insanely frustrating. People do not have any idea the sort of low hanging fruits that are in this world, that we could revolutionize things and make them infinitely better, and we as a species would be smarter, more capable, more empowered, with a mind for critical thought, for making things better, for things more pressing in this world than the petty politics and the ego’s and the subversions and the tribalisms, and the endless soft parade of just avoiding everyone’s ire.

I find it all so tiring. Everything that’s great and works wonderfully they modernize, add planned obsolescence and make it out of plastic and it’ll break in 3 years after never working as good as the old stuff. Vacuums with no sucking power, refrigerators with broken ice makers that break in 5 years, Keyboards with the same infernal layouts, remote controls that still get lost in the couch cushions.

Forget about flying cars, we don’t even know how to build a better friggin’ mouse trap.

And this stuff is so surface level, it would be so easy to improve hotkeys and interfaces, and push products to be far superior with minimal effort. The underlying tech to store and assign hotkeys is so trivial compared to the more robust elements of the tech that it truly is maddening.

Again, I just feel like I’m taking crazy pills. Feel like i’m the only person on this rock that gives a damn about improved tools, about improved workflows. As a whole, tech has fallen into this rut of not giving a damn about anything except AI. That’s like their singular care any more, to just zap all the tools from existence as if AI will somehow be able to push this logic and find better ways of doing things without coders.

That is a horrifying bet if this doesn’t all work out. We are on the fast track to Idiocracy with how little fundamental knowledge these coming generations have about code… or literally anything at all. Just have AI write your homework for you, why read a boring old book when you can play some mind numbing video games? Why cook a healthy meal when you can get some cheap unhealthy sludge from the fast food joint? Why push hard when no one demands excellence any more? Why sacrifice? Why build anything? AI’s going to come up with our recipe’s soon. The robots are going to fry our burgers! Grok will write our stories for us, the AI will generate videos and star in our movies! It’ll code our games! Generate our art! We don’t have to do anything ever any more!

So why the fuck are you worried about hotkeys!?

People don’t understand how far we’ve fallen. This isn’t about hotkeys, it’s not about the concept art, it’s not about the generation that can’t read or write, or the shortened attention spans, and the degrading standards and the rising tribalisms, and the juvenile judgements, and the monopolies, and corruption.

It’s ALL those things. All of that petulant laziness, sickening self congratulation for the lowest of standards, the abandonment of craft and quality and almost revolution to those who actually want to improve things for the whole, when most everyone just wants their giant pats on the back and big ol’ paychecks for sitting on their asses and giving one another back rubs.

It wasn’t my intention to make this hotkey rant an allegory for the modern decline, but it just kinda went that way. Truth be told, I am actually a huge hotkey nut. They are SO KEY to being able to execute your work properly and stay in the flow, and if you have a lot of ways of improving your craft, it stays fresh and you won’t burn out so fast, you’ll always have that thought that maybe you haven’t mastered everything yet, you can still push to be greater than you were yesterday, even if you’re old and busted!

I spent so much damn time today setting up these hotkeys. And part of me feels silly, because if we try to use them, for some time we’re going to be ¼ the developer we were yesterday, we’re going to fumble with the keys. We’re going to make horrible mistakes that will maybe destroy our code and set us back hours as we try to find what’s wrong. I liken it to playing QWOP, but for writing code.

But on the flip side, I take a bit of pride in being one of the few people who are actually trying to hold on to the foundations of gamedev, of pushing the tools we have access to, flawed as they are, to a greater state where I can output better logics and gameplay.

I try not to think about how many scripts I’ve rewritten over the years, how much time was lost just making the most horrible and broken code. Naming things the wrong way, creating content that was prone to user error and required endless recreations to get right, when just nuking the entire project and starting from scratch would have likely been less effort on multiple occasions.

Ugh, what sort of whiney areshole writes a 2 page essay on how keyboard shortcuts aren’t up to their standards?

Well, time will tell if we’re just an idiot weirdo, or if maybe we’ve been on to some  things all this time while this industry fell to dust. Game feels like it’s getting better, and health has been holding in there pretty good (hope I’m not jinxing it) and it feels like we’re bound to get this on track soon! Best of all, I feel like i’ve still got years of solid dev in me, after picking up and setting up these hotkeys, it feels like I’ll just be getting better and better for some time as I FINALLY start taking steps to improve my efficiency to be able to code a fraction as fast as most these guys who were taught how to do this crap and have been doing it since they were kids!

But as I’ve said in prior blogs, gamedev is a marathon, not a sprint, and with all this madness, all this AI bullcrap, all the greed and distractions, seems like most everyone has sprinted head first directly into a wall, while we only bash our head against it night after night after night… It’s gonna give some time!

So yeah, I don’t know what I’m doing with my life. Just complaining about hotkeys in the dead still of night when I COULD be working on the project or doing literally anything else XD.

Life is strange… kinda needed a break. Been hitting this too hard of late. Had a 10 hour work day and when I finished I thought to myself, "Only 10 hours!? What are you a bitch?" It's ok to take a breath once in a while :P. Between all these pipeline revisions and hotkey setups, we need a breather.

Oh! To  close this out here’s my current setup I’ve been typing out to help me keep track of my hotkey setup. What i’m most happy with so far is i’ve migrated the arrow keys to JKLI, and I toggle it with Alt. And i’ve added delete and backspace to alt + ctrl + d and alt + d. I can navigate between tabs with a combination of ctrl, alt, and shift in conjunction with the bracket keys. Same with page up/ down, and all sorts of other functions that i’m just too burned out to list here. It's VERY preliminary and I'll be revising it a ton in the coming months, years, who knows. Mostly focused on the left side for now, right side of the keyboard has tons of potential for more functions and I havne't even begun to start adding keys that allow for multi key inputs, though I much prefer the instant feedback of key combos for a few choice functions.

I had to undo a ton of ungodly awful built in hotkeys that maybe at some point I’ll regret not leaving, but I doubt it. We can always adjust it in the future for the better! It’s not that hard! WHAT THE HELL IS WRONG WITH YOU PEOPLE!?

//Legend

//Go to Tools > Options > Text Editor > C# (or your language) > Code Style > Formatting > General.

//Uncheck Automatically format on paste.

//Optionally, uncheck Perform additional code cleanup during formatting under Code Cleanup.

//. (I added this to tasks so I can quickly navigate to any area that has "//." typed)

// HOTKEYS:

// Control + Shift + K = Edit Shortcuts

// Control + R = SurroundWith

//================ CTRL + Shift + K = BRING UP KEYBOARD SHORTCUTS ================

//================ CTRL + Shift + K = BRING UP KEYBOARD SHORTCUTS ================

//**=IMPORTANT

// ============ALT===============

// ALT + 1 - 0 = GOTO Bookmarks

// ALT + A = EMPTY

// ALT + S = Clear Line

// ALT + D = Highlight Line

// ALT + Z = EMPTY

// ALT + X = Collapse All

// ALT + C = EMPTY

// Alt + F = EXPAND/ CLOSE **

// Alt + Q = Set Bookmark            BOOKMARKS! 

// Alt + W = bookmark Previous       BOOKMARKS!   

// Alt + E = bookmark Next           BOOKMARKS!

// Alt + B = bookmark VIEW           BOOKMARKS!   

// CTRL + B = bookmark VIEW          BOOKMARKS! 

// ============CTRL===============

// CTRL + A = TAKEN (Select All, YA DINGUS!)

// CTRL + S = TAKEN (Save, YA DINGUS!)

// CTRL + D = TAKEN (Duplicate, YA DINGUS!)

// CTRL + Z = TAKEN (Undo, YA DINGUS!)

// CTRL + X = TAKEN (Cut, YA DINGUS!)

// CTRL + C = TAKEN (Copy, YA DINGUS!)

// CTRL + F = TAKEN (Find, YA DINGUS!)

// CTRL + E = NAVIGATE BACKWARDS**

// CTRL + W = NAVIGATE FORWARD**

// CTRL + B = bookmark VIEW

// CTRL + H = HIDE

//==================

// CTRL + 1 = Empty;

// CTRL + 2 = Empty;

// CTRL + 3 = Empty;

// CTRL + 4 = Empty;

// CTRL + 5 = Empty;

// CTRL + 6 = Empty;

// CTRL + 7 = Empty;

// CTRL + 8 = Empty;

// CTRL + 9 = Empty;

// CTRL + 0 = Empty;

// ============SHIFT + ALT===============

// Shift + ALT + 1 - 0 = Save Bookmarks

// Shift + ALT + A = EMPTY

// Shift + ALT + S = Surround With

// Shift + ALT + D = Collapse selection

// Shift + ALT + Z = EMPTY

// Shift + ALT + X = Collapse ALL

// Shift + ALT + C = EMPTY

// Shift + ALT + Q = EMPTY

// Shift + ALT + W = load bookmark panel

// Shift + ALT + E = GOTO next task (//.) ******

// ============CTRL + Shift===============

// CTRL + Shift + A = EMPTY

// CTRL + Shift + S = TAKEN (Save)

// CTRL + Shift + D = EMPTYS!)

// CTRL + Shift + Z = EMPTY

// CTRL + Shift + X = EMPTY

// CTRL + Shift + C = EMPTY

// CTRL + Shift + F = Format**

// CTRL + Shift + Q = EMPTY

// CTRL + Shift + W = EMPTY

// CTRL + Shift + E = EMPTY

// CTRL + Shift + B = EMPTY

//==================

// CTRL + Shift + 1 = Empty;

// CTRL + Shift + 2 = Empty;

// CTRL + Shift + 3 = Empty;

// CTRL + Shift + 4 = Empty;

// CTRL + Shift + 5 = Empty;

// CTRL + Shift + 6 = Empty;

// CTRL + Shift + 7 = Empty;

// CTRL + Shift + 8 = Empty;

// CTRL + Shift + 9 = Empty;

// CTRL + Shift + 0 = Empty;

// ============CTRL + ALT + Shift===============

// CTRL + ALT + Shift + A = EMPTY

// CTRL + ALT + Shift + S = TAKEN (Save)

// CTRL + ALT + Shift + D = EMPTYS!)

// CTRL + ALT + Shift + Z = EMPTY

// CTRL + ALT + Shift + X = EMPTY

// CTRL + ALT + Shift + C = EMPTY

// CTRL + ALT + Shift + F = Format**

// CTRL + ALT + Shift + Q = EMPTY

// CTRL + ALT + Shift + W = EMPTY

// CTRL + ALT + Shift + E = EMPTY

// SHIFT + CTRL + ALT + R = GOTO Next Error

// CTRL + ALT + Shift + B = bookmark VIEW

//==================

// CTRL + ALT + Shift + 1 = Empty;

// CTRL + ALT + Shift + 2 = Empty;

// CTRL + ALT + Shift + 3 = Empty;

// CTRL + ALT + Shift + 4 = Empty;

// CTRL + ALT + Shift + 5 = Empty;

// CTRL + ALT + Shift + 6 = Empty;

// CTRL + ALT + Shift + 7 = Empty;

// CTRL + ALT + Shift + 8 = Empty;

// CTRL + ALT + Shift + 9 = Empty;

// CTRL + ALT + Shift + 0 = Empty;

// ============SHIFT + CTRL + ALT===============

// ================BOOKMARKS=================

//  Alt + Shift + # set local Bookmark

//  Alt + # gotolocal Bookmark

Edit: I almost forgot! The most important thing to anyone wanting to go on a hotkey journey, is to set a hotkey... FOR SETTING HOTKEYS! I use CTRL + SHIFT + K to bring up the hotkey editor. That's where this wild hotkey journey started. Right now I'm feeling like a baby learning to take their first steps again, trying to build better finger habits like using my pinky to use backspace as opposed to moving my whole hand so my middle finger can press it. So in every conceivable way I'm working like an ineffectual baby that's never used a keyboard before.

BUT WHAT ELSE IS NEW!?

Get SeaCrit

Leave a comment

Log in with itch.io to leave a comment.