Difference between revisions of "New LCL shortcut system"

From Lazarus wiki
Jump to navigationJump to search
Line 15: Line 15:
  
 
Unused bits in TShortCut: $0F00
 
Unused bits in TShortCut: $0F00
 +
 +
==Requirements==
 +
# backward compatibility
 +
#* accept current TShortCut format
 +
# secondary, ternary shortcuts
 +
# platform-specific shortcuts (E.g. Ctrl+C under Windows, Cmd + C under Mac OS X)
 +
# shortcuts also with characters (E.g. Cmd + ?)

Revision as of 16:35, 9 October 2008

This page collects ideas about improving system of shortcuts in LCL.

Current state

TShortCut = Low(Word)..High(Word); // in classes.pp unit

// virtual key codes VK_*
Key := ShortCut and $FF; 

// key modifiers
Meta    := ShortCut and $1000; // scMeta
Shift   := ShortCut and $2000; // scShift
Control := ShortCut and $4000; // scControl
Alt     := ShortCut and $8000; // scAlt

Unused bits in TShortCut: $0F00

Requirements

  1. backward compatibility
    • accept current TShortCut format
  2. secondary, ternary shortcuts
  3. platform-specific shortcuts (E.g. Ctrl+C under Windows, Cmd + C under Mac OS X)
  4. shortcuts also with characters (E.g. Cmd + ?)