Add keyboard shortcuts for some actions.

This commit is contained in:
Storm Dragon
2025-11-28 00:52:24 -05:00
parent 5e4b9ae439
commit 6f1cb957c3
+79
View File
@@ -4724,4 +4724,83 @@ async function start() {
setViewportHeight(); setViewportHeight();
} }
// Global keyboard shortcuts
document.addEventListener('keydown', function(e) {
// Control+Alt+H - Raise or lower hand
if(e.ctrlKey && e.altKey && e.key === 'h') {
e.preventDefault();
if(!serverConnection || !serverConnection.id) {
return;
}
let mydata = serverConnection.users[serverConnection.id].data;
let isRaised = mydata['raisehand'];
// Toggle hand state
serverConnection.userAction(
'setdata',
serverConnection.id,
{'raisehand': isRaised ? null : true}
);
// Announce the action
let announcement = document.getElementById('chat-announcements');
if(announcement) {
announcement.textContent = isRaised ? 'Hand lowered' : 'Hand raised';
}
// Focus on user's name button in the user list
let userButton = document.getElementById('user-' + serverConnection.id);
if(userButton) {
userButton.focus();
}
}
// Control+Shift+C - Expand or collapse chat
if(e.ctrlKey && e.shiftKey && e.key === 'C') {
e.preventDefault();
let leftPanel = document.getElementById('left');
let showChatButton = document.getElementById('show-chat');
let closeChatButton = document.getElementById('close-chat');
// Check if chat is currently visible
let isChatVisible = leftPanel && leftPanel.style.display !== 'none';
if(isChatVisible) {
// Collapse chat
setVisibility('left', false);
setVisibility('show-chat', true);
resizePeers();
// Announce the action
let announcement = document.getElementById('chat-announcements');
if(announcement) {
announcement.textContent = 'Chat collapsed';
}
// Focus the show-chat button
if(showChatButton) {
showChatButton.focus();
}
} else {
// Expand chat
setVisibility('left', true);
setVisibility('show-chat', false);
resizePeers();
// Announce the action
let announcement = document.getElementById('chat-announcements');
if(announcement) {
announcement.textContent = 'Chat expanded';
}
// Focus the close-chat button
if(closeChatButton) {
closeChatButton.focus();
}
}
}
});
start(); start();