mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-08-10 23:27:46 +02:00
Add "Xbox button > Press" shortcut
This commit is contained in:
@@ -16,6 +16,17 @@ export const SHORTCUT_ACTIONS: ShortcutActions = {
|
||||
[ShortcutAction.BETTER_XCLOUD_SETTINGS_SHOW]: [t('settings'), t('show')],
|
||||
},
|
||||
|
||||
// MKB
|
||||
...(STATES.browser.capabilities.mkb ? {
|
||||
[t('mouse-and-keyboard')]: {
|
||||
[ShortcutAction.MKB_TOGGLE]: [t('toggle')],
|
||||
},
|
||||
} : {}),
|
||||
|
||||
[t('controller')]: {
|
||||
[ShortcutAction.CONTROLLER_XBOX_BUTTON_PRESS]: [t('button-xbox'), t('press')],
|
||||
},
|
||||
|
||||
// Device
|
||||
...(!!AppInterface ? {
|
||||
[t('device')]: {
|
||||
@@ -45,13 +56,6 @@ export const SHORTCUT_ACTIONS: ShortcutActions = {
|
||||
[ShortcutAction.STREAM_MICROPHONE_TOGGLE]: [t('microphone'), t('toggle')],
|
||||
},
|
||||
|
||||
// MKB
|
||||
...(STATES.browser.capabilities.mkb ? {
|
||||
[t('mouse-and-keyboard')]: {
|
||||
[ShortcutAction.MKB_TOGGLE]: [t('toggle')],
|
||||
},
|
||||
} : {}),
|
||||
|
||||
// Other
|
||||
[t('other')]: {
|
||||
[ShortcutAction.TRUE_ACHIEVEMENTS_OPEN]: [t('true-achievements'), t('show')],
|
||||
|
21
src/modules/shortcuts/virtual-controller-shortcut.ts
Normal file
21
src/modules/shortcuts/virtual-controller-shortcut.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { generateVirtualControllerMapping } from "@/utils/gamepad";
|
||||
|
||||
export class VirtualControllerShortcut {
|
||||
static pressXboxButton(): void {
|
||||
const streamSession = window.BX_EXPOSED.streamSession;
|
||||
if (!streamSession) {
|
||||
return;
|
||||
}
|
||||
|
||||
const released = generateVirtualControllerMapping();
|
||||
const pressed = generateVirtualControllerMapping({
|
||||
Nexus: 1,
|
||||
VirtualPhysicality: 1024, // Home
|
||||
});
|
||||
|
||||
streamSession.onVirtualGamepadInput('systemMenu', performance.now(), [pressed]);
|
||||
setTimeout(() => {
|
||||
streamSession.onVirtualGamepadInput('systemMenu', performance.now(), [released]);
|
||||
}, 100);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user