hotkeys installed by default in the scintilla gadget
Posted: Thu Sep 19, 2024 9:52 am
Where can I find the full list of hotkeys installed by default in the scintilla gadget?
http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
const KeyToCommand KeyMap::MapDefault[] = {
#if OS_X_KEYS
{Keys::Down, SCI_CTRL, Message::DocumentEnd},
{Keys::Down, SCI_CSHIFT, Message::DocumentEndExtend},
{Keys::Up, SCI_CTRL, Message::DocumentStart},
{Keys::Up, SCI_CSHIFT, Message::DocumentStartExtend},
{Keys::Left, SCI_CTRL, Message::VCHome},
{Keys::Left, SCI_CSHIFT, Message::VCHomeExtend},
{Keys::Right, SCI_CTRL, Message::LineEnd},
{Keys::Right, SCI_CSHIFT, Message::LineEndExtend},
#endif
{Keys::Down, SCI_NORM, Message::LineDown},
{Keys::Down, SCI_SHIFT, Message::LineDownExtend},
{Keys::Down, SCI_CTRL_META, Message::LineScrollDown},
{Keys::Down, SCI_ASHIFT, Message::LineDownRectExtend},
{Keys::Up, SCI_NORM, Message::LineUp},
{Keys::Up, SCI_SHIFT, Message::LineUpExtend},
{Keys::Up, SCI_CTRL_META, Message::LineScrollUp},
{Keys::Up, SCI_ASHIFT, Message::LineUpRectExtend},
{Key('['), SCI_CTRL, Message::ParaUp},
{Key('['), SCI_CSHIFT, Message::ParaUpExtend},
{Key(']'), SCI_CTRL, Message::ParaDown},
{Key(']'), SCI_CSHIFT, Message::ParaDownExtend},
{Keys::Left, SCI_NORM, Message::CharLeft},
{Keys::Left, SCI_SHIFT, Message::CharLeftExtend},
{Keys::Left, SCI_CTRL_META, Message::WordLeft},
{Keys::Left, SCI_SCTRL_META, Message::WordLeftExtend},
{Keys::Left, SCI_ASHIFT, Message::CharLeftRectExtend},
{Keys::Right, SCI_NORM, Message::CharRight},
{Keys::Right, SCI_SHIFT, Message::CharRightExtend},
{Keys::Right, SCI_CTRL_META, Message::WordRight},
{Keys::Right, SCI_SCTRL_META, Message::WordRightExtend},
{Keys::Right, SCI_ASHIFT, Message::CharRightRectExtend},
{Key('/'), SCI_CTRL, Message::WordPartLeft},
{Key('/'), SCI_CSHIFT, Message::WordPartLeftExtend},
{Key('\\'), SCI_CTRL, Message::WordPartRight},
{Key('\\'), SCI_CSHIFT, Message::WordPartRightExtend},
{Keys::Home, SCI_NORM, Message::VCHome},
{Keys::Home, SCI_SHIFT, Message::VCHomeExtend},
{Keys::Home, SCI_CTRL, Message::DocumentStart},
{Keys::Home, SCI_CSHIFT, Message::DocumentStartExtend},
{Keys::Home, SCI_ALT, Message::HomeDisplay},
{Keys::Home, SCI_ASHIFT, Message::VCHomeRectExtend},
{Keys::End, SCI_NORM, Message::LineEnd},
{Keys::End, SCI_SHIFT, Message::LineEndExtend},
{Keys::End, SCI_CTRL, Message::DocumentEnd},
{Keys::End, SCI_CSHIFT, Message::DocumentEndExtend},
{Keys::End, SCI_ALT, Message::LineEndDisplay},
{Keys::End, SCI_ASHIFT, Message::LineEndRectExtend},
{Keys::Prior, SCI_NORM, Message::PageUp},
{Keys::Prior, SCI_SHIFT, Message::PageUpExtend},
{Keys::Prior, SCI_ASHIFT, Message::PageUpRectExtend},
{Keys::Next, SCI_NORM, Message::PageDown},
{Keys::Next, SCI_SHIFT, Message::PageDownExtend},
{Keys::Next, SCI_ASHIFT, Message::PageDownRectExtend},
{Keys::Delete, SCI_NORM, Message::Clear},
{Keys::Delete, SCI_SHIFT, Message::Cut},
{Keys::Delete, SCI_CTRL, Message::DelWordRight},
{Keys::Delete, SCI_CSHIFT, Message::DelLineRight},
{Keys::Insert, SCI_NORM, Message::EditToggleOvertype},
{Keys::Insert, SCI_SHIFT, Message::Paste},
{Keys::Insert, SCI_CTRL, Message::Copy},
{Keys::Escape, SCI_NORM, Message::Cancel},
{Keys::Back, SCI_NORM, Message::DeleteBack},
{Keys::Back, SCI_SHIFT, Message::DeleteBack},
{Keys::Back, SCI_CTRL, Message::DelWordLeft},
{Keys::Back, SCI_ALT, Message::Undo},
{Keys::Back, SCI_CSHIFT, Message::DelLineLeft},
{Key('Z'), SCI_CTRL, Message::Undo},
#if OS_X_KEYS
{Key('Z'), SCI_CSHIFT, Message::Redo},
#else
{Key('Y'), SCI_CTRL, Message::Redo},
#endif
{Key('X'), SCI_CTRL, Message::Cut},
{Key('C'), SCI_CTRL, Message::Copy},
{Key('V'), SCI_CTRL, Message::Paste},
{Key('A'), SCI_CTRL, Message::SelectAll},
{Keys::Tab, SCI_NORM, Message::Tab},
{Keys::Tab, SCI_SHIFT, Message::BackTab},
{Keys::Return, SCI_NORM, Message::NewLine},
{Keys::Return, SCI_SHIFT, Message::NewLine},
{Keys::Add, SCI_CTRL, Message::ZoomIn},
{Keys::Subtract, SCI_CTRL, Message::ZoomOut},
{Keys::Divide, SCI_CTRL, Message::SetZoom},
{Key('L'), SCI_CTRL, Message::LineCut},
{Key('L'), SCI_CSHIFT, Message::LineDelete},
{Key('T'), SCI_CSHIFT, Message::LineCopy},
{Key('T'), SCI_CTRL, Message::LineTranspose},
{Key('D'), SCI_CTRL, Message::SelectionDuplicate},
{Key('U'), SCI_CTRL, Message::LowerCase},
{Key('U'), SCI_CSHIFT, Message::UpperCase},
{Key(0),SCI_NORM,static_cast<Message>(0)},
};
Of course, I mean specifically the scintilla gadget. And we don't have access to the source texts of its implementation. We don't know if any changes have been made to the original scintilla code.
That's the sort of thing that Fred would probably note in the help file article, if any significant modifications had been made. There are no such annotations so it's not unreasonable to assume that the gadget gets the default map. I've not noticed any deviations to date so nothing makes me believe the data is unreliable.useful wrote: Thu Sep 19, 2024 12:08 pm We don't know if any changes have been made to the original scintilla code.