danielrosehill's picture
commit
279efce

List KDE Shortcuts

You are helping the user view all configured keyboard shortcuts in KDE Plasma.

Task

  1. Display global shortcuts:

    # Read global shortcuts config
    cat ~/.config/kglobalshortcutsrc
    
  2. Parse and format shortcuts nicely:

    # Extract and format shortcuts
    grep -E "^[A-Za-z].*=" ~/.config/kglobalshortcutsrc | \
    grep -v "^_" | \
    sed 's/\\t/\t/g' | \
    column -t -s= | \
    head -50
    
  3. List shortcuts by category:

    KWin (Window Manager) shortcuts:

    grep -A 200 "^\[kwin\]" ~/.config/kglobalshortcutsrc | \
    grep -v "^_" | \
    grep "=" | \
    sed 's/,.*$//' | \
    column -t -s=
    

    Plasma Desktop shortcuts:

    grep -A 100 "^\[plasmashell\]" ~/.config/kglobalshortcutsrc | \
    grep -v "^_" | \
    grep "=" | \
    sed 's/,.*$//' | \
    column -t -s=
    

    Application shortcuts:

    grep -A 50 "^\[org.kde.dolphin\]" ~/.config/kglobalshortcutsrc | \
    grep "=" | \
    column -t -s=
    
  4. Find specific shortcut by key combination:

    # Search for Meta (Super) key shortcuts
    grep -i "meta" ~/.config/kglobalshortcutsrc | grep -v "^_" | head -20
    
    # Search for Ctrl+Alt shortcuts
    grep -i "ctrl.*alt" ~/.config/kglobalshortcutsrc | grep -v "^_" | head -20
    
    # Search for F-key shortcuts
    grep -E "F[0-9]+" ~/.config/kglobalshortcutsrc | grep -v "^_" | head -20
    
  5. Create formatted shortcut reference: ```bash cat > /tmp/kde-shortcuts.txt << 'EOF' KDE Plasma Keyboard Shortcuts

    Generated: $(date)

    === WINDOW MANAGEMENT (KWin) === EOF

    grep -A 200 "^[kwin]" ~/.config/kglobalshortcutsrc |
    grep -v "^_" |
    grep "=" |
    sed 's/=(.),./\t\1/' |
    sed 's/\t/\t→\t/' >> /tmp/kde-shortcuts.txt

    echo -e "\n\n=== PLASMA DESKTOP ===" >> /tmp/kde-shortcuts.txt grep -A 100 "^[plasmashell]" ~/.config/kglobalshortcutsrc |
    grep -v "^_" |
    grep "=" |
    sed 's/=(.),./\t\1/' |
    sed 's/\t/\t→\t/' >> /tmp/kde-shortcuts.txt

    cat /tmp/kde-shortcuts.txt

    
    
  6. Show default vs custom shortcuts:

    # Compare with default config
    diff <(grep "=" /usr/share/kconf_update/kglobalshortcutsrc 2>/dev/null | sort) \
         <(grep "=" ~/.config/kglobalshortcutsrc | sort) | \
    grep "^>" | \
    head -20
    
  7. List application-specific shortcuts:

    Dolphin:

    kreadconfig6 --file ~/.config/dolphinrc --group "Shortcuts"
    

    Konsole:

    kreadconfig6 --file ~/.config/konsolerc --group "Shortcuts"
    

    Kate:

    grep -A 100 "^\[Shortcuts\]" ~/.config/katerc 2>/dev/null
    
  8. Export shortcuts to easily readable format:

    # Create markdown format
    cat > /tmp/kde-shortcuts.md << 'EOF'
    # KDE Plasma Keyboard Shortcuts
    
    ## Window Management
    
    | Action | Shortcut |
    |--------|----------|
    EOF
    
    grep -A 200 "^\[kwin\]" ~/.config/kglobalshortcutsrc | \
    grep -v "^_" | \
    grep "=" | \
    sed 's/=\([^,]*\),.*/|\1|/' | \
    sed 's/\\t/|/' | \
    sed 's/^/|/' >> /tmp/kde-shortcuts.md
    
    cat /tmp/kde-shortcuts.md
    
  9. Check for shortcut conflicts:

    # Find duplicate key bindings
    grep "=" ~/.config/kglobalshortcutsrc | \
    sed 's/.*=\([^,]*\),.*/\1/' | \
    grep -v "^$\|none" | \
    sort | \
    uniq -d
    
  10. Interactive shortcut search:

    # Function to search shortcuts
    cat > /tmp/search-shortcuts.sh << 'EOF'
    #!/bin/bash
    
    if [ -z "$1" ]; then
      echo "Usage: $0 <search_term>"
      echo "Example: $0 desktop"
      echo "Example: $0 Meta+D"
      exit 1
    fi
    
    echo "Searching for: $1"
    echo "================================"
    
    grep -i "$1" ~/.config/kglobalshortcutsrc | \
    grep "=" | \
    grep -v "^_" | \
    sed 's/=\([^,]*\),.*/\t→\t\1/' | \
    sed 's/\\t/\t/'
    EOF
    
    chmod +x /tmp/search-shortcuts.sh
    
    # Example usage
    /tmp/search-shortcuts.sh "window"
    

Common Shortcuts Reference

Create a quick reference of most-used shortcuts:

cat > /tmp/kde-common-shortcuts.md << 'EOF'
# KDE Plasma - Common Default Shortcuts

## Window Management
- `Meta + Arrow` - Snap window to edge
- `Meta + PageUp/PageDown` - Window to desktop above/below
- `Alt + F2` - Run command (KRunner)
- `Alt + F3` - Window menu
- `Alt + F4` - Close window
- `Meta + Tab` - Switch windows

## Desktop
- `Meta + D` - Show desktop
- `Ctrl + F1-F12` - Switch virtual desktops
- `Meta + PgUp/PgDn` - Move to desktop above/below

## Plasma
- `Alt + Space` - KRunner
- `Meta` - Application Launcher
- `Ctrl + Esc` - System Activity (task manager)

## Screenshots
- `Print` - Full screen screenshot
- `Meta + Print` - Window screenshot
- `Meta + Shift + Print` - Region screenshot

## Applications
- `Meta + E` - Dolphin (file manager)
- `Ctrl + Alt + T` - Terminal (if configured)
EOF

cat /tmp/kde-common-shortcuts.md

GUI Shortcut Management

If user prefers GUI:

# Open System Settings to Shortcuts
kcmshell6 keys
# OR
systemsettings kcm_keys

Export for Documentation

# Create detailed export
cat > ~/kde-shortcuts-export-$(date +%Y%m%d).txt << EOF
KDE Plasma Keyboard Shortcuts Export
=====================================
Date: $(date)
User: $USER
Hostname: $(hostname)
Plasma Version: $(plasmashell --version)

EOF

# Add all shortcuts by category
for section in kwin plasmashell org_kde_powerdevil khotkeys; do
  echo -e "\n=== $section ===\n" >> ~/kde-shortcuts-export-$(date +%Y%m%d).txt
  grep -A 500 "^\[$section\]" ~/.config/kglobalshortcutsrc | \
  grep "=" | \
  grep -v "^_" | \
  head -100 >> ~/kde-shortcuts-export-$(date +%Y%m%d).txt
done

echo "Exported to: ~/kde-shortcuts-export-$(date +%Y%m%d).txt"

Find Unassigned Actions

# Actions that have no shortcut assigned
grep "=none" ~/.config/kglobalshortcutsrc | \
grep -v "^_" | \
sed 's/=.*//' | \
head -30

Troubleshooting

Shortcuts not working:

# Check if shortcuts are enabled
kreadconfig6 --file kglobalshortcutsrc --group "KDE Keyboard Layout Switcher" --key "_k_friendly_name"

# Restart KDE shortcuts daemon
kquitapp6 kglobalaccel
kglobalaccel &

Reset shortcuts to defaults:

# Backup current
cp ~/.config/kglobalshortcutsrc ~/.config/kglobalshortcutsrc.backup

# Remove custom shortcuts
rm ~/.config/kglobalshortcutsrc

# Restart Plasma
kquitapp6 plasmashell && kstart plasmashell

Notes

  • Shortcuts are stored in ~/.config/kglobalshortcutsrc
  • Format: action=key,friendly_name,component
  • Meta key = Super/Windows key
  • Some apps store shortcuts in their own config files
  • Use System Settings GUI for easier shortcut management
  • Custom shortcuts can be added via khotkeys
  • Conflicts are usually handled automatically by KDE