Wie bekommt man den richtigen Keycode für IDEShortCut heraus ?

Für Fragen rund um die Ide und zum Debugger
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1778
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Wie bekommt man den richtigen Keycode für IDEShortCut heraus ?

Beitrag von corpsman »

Hallo,
ich habe eine kleine Komponente für die Lazarus IDE geschrieben, diese soll auf das Tastaturkommando "STRG" + "#" reagieren.

Und inspiriert durch viewtopic.php?f=5&t=17738 versuche ich nun auf GTK3 um zu steigen.

Unter GTK2 hatte folgender Code funktioniert:

Code: Alles auswählen

Procedure Register;
Var
  Key: TIDEShortCut;
  (*
  In der Hoffnung das ich es noch hinbekomme, soll heisen das es hier irgendwann evtl den "Option" dialog geben soll
  *)
  Cat: TIDECommandCategory;
Begin
  Cat := IDECommandList.CreateCategory(Nil,
    SCatFormatting,
    SDescrFormatting,
    IDECmdScopeSrcEditOnly);
  Key := IDEShortCut(
    222 // Das neue # Zeichen, ermittelt mittels Codeviewer OnKeyDown !!
    {192}{ das  #  Zeichen }, [SSctrl], VK_UNKNOWN, []);
  CmdFormatFile := RegisterIDECommand(Cat,
    SCmdPFFile,
    SDescrPFFile,
    Key, Nil, @CommentInFile);
  RegisterIDEMenuCommand(SrcEditSubMenuRefactor,
    SCmdPFFile,
    SDescrPFFile,
    Nil, Nil, CmdFormatFile);
  (*
  SVN 29721 in MenuIntf
  itmEditBlockIndentation -> itmSourceBlockIndentation
  SVN 29862 in MenuIntf
  itmSourceBlockIndentation -> itmSourceBlockActions
  *)
  RegisterIDEMenuCommand(itmSourceBlockActions,
    SCmdPFFile,
    SDescrPFFile,
    Nil, Nil, CmdFormatFile);
End;
Das Problem ist nun aber unter GTK3 scheint die "222" von oben zu einem neuen Wert geworden zu sein, gibt es da eine Nachhaltige Möglichkeit den Keykode für "#" an zu geben ?
--
Just try it

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1778
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Wie bekommt man den richtigen Keycode für IDEShortCut heraus ?

Beitrag von corpsman »

und nein

Code: Alles auswählen

 Key := IDEShortCut(
    ord('#'){ das  #  Zeichen }, [SSctrl], VK_UNKNOWN, []);   
geht leider nicht :(
--
Just try it

Antworten