Skip to content

Add Tab-WASD Switcher mod v1.1.0 - #3913

Open
achrllrogia45 wants to merge 3 commits into
ramensoftware:mainfrom
achrllrogia45:add-alt-tab-wasd
Open

achrllrogia45 wants to merge 3 commits into
ramensoftware:mainfrom
achrllrogia45:add-alt-tab-wasd

Conversation

@achrllrogia45

@achrllrogia45 achrllrogia45 commented Apr 27, 2026 •

Copy link
Copy Markdown

Add AltTab WASD mod - Use WASD keys to navigate the Alt+Tab switcher.

This mod adds WASD navigation to the Alt+Tab and Win+Tab switcher so W, A, S, and D behave
like the Up, Left, Down, and Right arrow keys while the switcher is visible.

It also supports a configurable runtime toggle hotkey. Enable the feature in the
settings, then press the configured hotkey to turn WASD navigation on or off by
keep holding Alt after Alt+Tab while holding Alt continue pressing Ctrl+Shift+"\ (backslash)"
without restarting Explorer.

Changelog

  • Initial release v1.1.0

Mod authorship

This mod was created by:

    • Manually by the submitter (with or without AI assistance)
    • Claude

@m417z

m417z commented Apr 29, 2026

Copy link
Copy Markdown
Member

Thanks for the submission. Please address the CI failures.

Renamed twinuiPcshellSymbolHooks to twinuiPcshellHooks to match
the expected pattern (<targetModule>Hooks) required by the mod
validation CI.
@achrllrogia45

Copy link
Copy Markdown
Author

aight thanks for the reviewing glad to contribute!

- Rename to Tab-WASD Switcher to reflect broader scope

- Add Win+Tab (Task View) detection via GetWindowBand + window class

- Fix stale state bug where WASD could stay active after switcher closed

- Add // twinui.pcshell.dll comment for PR validation compliance

- Default enableWasd to true, add 200ms Task View polling timer
@achrllrogia45 achrllrogia45 changed the title Add AltTab WASD mod v1.0.0 Add Tab-WASD Switcher mod v1.1.0 May 1, 2026

@achrllrogia45 achrllrogia45 left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding Win+Tab feature beside Alt+Tab

@m417z

m417z commented May 2, 2026

Copy link
Copy Markdown
Member

Why did you remove the pull request form with mod authorship?

Comment thread mods/alt-tab-wasd.wh.cpp
DWORD waitResult = WaitForSingleObject(g_hookThread, 5000);
if (waitResult == WAIT_TIMEOUT) {
Wh_Log(L"Warning: Hook thread did not exit in time, terminating");
TerminateThread(g_hookThread, 0);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TerminateThread is not a safe operation, and it's preferable to avoid it if possible. See:
https://devblogs.microsoft.com/oldnewthing/20150814-00/?p=91811

Is there a reason it was added?

Comment thread mods/alt-tab-wasd.wh.cpp
/*
- enableWasd: true
$name: Enable WASD Navigation
$description: Master switch. When enabled, WASD keys navigate the Alt+Tab and Win+Tab switchers like arrow keys.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does the mod do when this option is disabled? If nothing, then it's not needed since the mod can simply be disabled.

Comment thread mods/alt-tab-wasd.wh.cpp
}

// Update Task View visibility state. Called periodically from the hook thread.
void UpdateTaskViewState() {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have hooks in place. Why is it also necessary for this to be called periodically?

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants