WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Designer Forum (http://www.wcm.at/forum/forumdisplay.php?f=61)
-   -   Tastenkombi im Gauge (http://www.wcm.at/forum/showthread.php?t=177638)

harry3 07.11.2005 19:49

Mmmh, anscheinend hat sich in Sachen Gauges beim FS2002->FS2004 doch mehr als nur ein bisschen geändert.
Denn im FS2002 war das definitiv nicht möglich.
Aber jetzt will ich mir den FS2004 auch nicht mehr zulegen, wenn der Neue doch schon so nah ist.

Aber das Bsp. leitet meiner Meinung nur die Befehle um, wirklich definieren dass bei dem Tastendruck von z.B. SHIFT+D dies und jenes passiert ist doch damit nicht möglich!?
Und das wollte Michael doch machen, oder irre ich mich da jetzt?

@Jumbojet: Erzähl mal aus der Programmiererlaufbahn ein bisschen. Was hast du alles schon programmiert? EHSI, EADI? Nee, viel zu simpel. Du hast doch sicher schon ein richtig schönes FMC programmiert, stimmts!?
:lol:


Grüße,
Harri

Horst LOWW 07.11.2005 19:50

Hallo,
bei ACES "Blogger" Susan (lead panel and gauge systems developer):
http://blogs.technet.com/engauged/
findet man Informationen über XML Variablen.
und die K_events bei Bartels:
http://library.avsim.net/search.php?...zip&CatID=root

Vielleicht hilfst,
Horst

Michael Kock 07.11.2005 21:11

Wie Harry sagt, ich suche ein Gauge, mit den ich verschiedene Tastenkombi definieren kann. Als Beispiel einen Knopf, den ich drücke um ein neues Fenster zu öffenen (shift+w).

AOG 07.11.2005 21:17

Hi!

klar geht das, nur das ist nicht ganz trivial und ich kann mir eine Lösung nur in C/C++ vorstellen, XML kenn ich mich nicht aus

Man denke and die FMC's vom PMDG zBsp...

Du willst doch dass eine Tastenkombi irgendetwas asuführt oder?

nen mal ein beispiel...

florian

harry3 07.11.2005 21:18

Zitat:

Original geschrieben von Michael Kock
Wie Harry sagt, ich suche ein Gauge, mit den ich verschiedene Tastenkombi definieren kann. Als Beispiel einen Knopf, den ich drücke um ein neues Fenster zu öffenen (shift+w).
Und genau das ist meiner Meinung nach nicht möglich. Im FS2002 fix nicht.
Und ich traue mir fast zu wetten dass das im FS2004 auch nicht möglich ist.

Aber vielleicht hat Jumbojet eine Möglichkeit gefunden das zu programmieren?*gg*


Grüße,
Harri

harry3 07.11.2005 21:22

Zitat:

Original geschrieben von AOG
Hi!

klar geht das, nur das ist nicht ganz trivial und ich kann mir eine Lösung nur in C/C++ vorstellen, XML kenn ich mich nicht aus

florian

Vielleicht dass man in C direkt auf die Tastatureingaben zugreift und diese auswertet. Frag mich jetzt aber bitte nicht wie das geht:D...WINAPI lässt grüßen!
Evtl. kann dir Hans Hartmann dazu was sagen weil er hat auch der Maus ein Nicht-MSFS-mäßiges Verhalten gegeben.(rechter Klick=>drehen des Schalters nach rechts, während im MSFS normalerweise damit ein Menu geöffnet wird)


Grüße,
Harri

AOG 07.11.2005 21:28

Ahh habs grad gelesen du willst eine Tastenkombi senden...

Geht auch aber noch etwas komplizierter..

Jedoch für viele Flusibefehle gibt es ja die KEY_EVENTS und die sind wiederum recht leicht zu proggen...
Die komplette Listen ist im FS SDK zu finden...

ob SHIFT+W dabei ist weiß ich nicht...

Du kannst unter windows aber jedem laufenden programm einen Tasterturbefehl senden das ist aber nicht ganz so einfach. Muss man die instanz des Programmes ermitteln, auf die locken usw...

Genaue info findest du ziehmlich sicher in
http://www.programmersheaven.com/

usw

Flo

AOG 07.11.2005 21:32

Hi

Das mit maus rechts ist nur eine definition des Mouse Windows..da muss man nicht direkt etwas an der Maus ändern...

Wenn du Tastenkombis vor dem Flusi abfragen/abfangen willst, geht das am besten über DirectInput (directx).

Wenn du Tasten zum Flusi senden willst dann geht das mit der vorher beschriebenen Möglichkeit oder mit der funktion trigger_key_events sofern sie für deine Anwendung vorhanden sind

florian

derBruchpilot 07.11.2005 22:23

Also, ich glaube, wir reden hier von zwei verschiedenen Sachen:

1. Eine Tastenkombination bzw. eine einzelne Taste ruft eine Aktion / Funktion in einem gauge auf, z. B. Betätigen eines Schalters. Die Taste und die Aktion / Definition sollen frei wählbar sein, der Vorteil wäre, dass man mit der Maus nicht den Schalter anklicken muss, um die Aktion auszuführen.

2. Eine gauge, dass eine zunächst Tastenkombination, im Endeffekt aber eine Funktion auslöst, indem man mit der Maus auf das gauge klickt.

derBruchpilot 07.11.2005 22:27

zu 1) Funktioniert! :hammer:

Ich habe einmal das unter http://www.wcm.at/forum/showthread.p...211post1720211 vorgestellte HUD modifiziert, und zwar den Schalter_TagNacht zur Änderung der Helligkeit der Anzeige. Der Quelltext sieht jetzt wie folgt aus:
PHP-Code:

<Gauge Name="Schalter_TagNacht" Version="1.0">
   <
Element>
      <
Image Name="psp_galet.bmp" Luminous="Yes" >
         <
Axis X="11" Y="23" PointsTo="Notrh"/>
      </
Image>
      <
Rotate>
         <
Value>(L:Color,enum)</Value>
         <
Nonlinearity>
            <
Item Value="0" Degrees="-90"/>
            <
Item Value="1" Degrees="-60"/>
            <
Item Value="2" Degrees="-30"/>
            <
Item Value="3" Degrees="0"/>
            <
Item Value="4" Degrees="30"/>
            <
Item Value="5" Degrees="60"/>
         </
Nonlinearity>
         <
Delay DegreesPerSecond="250"/>
      </
Rotate>
   </
Element>



   <
Mouse>
      <
Area Left="0" Right="22" Top="0" Bottom="21">
        <
Cursor Type="UpArrow"/>
        <
Click>
        (
L:Color,enum&lt; if{ (L:Color,enum+ (&gt;L:Color,enum)
    </
Click>
      </
Area>
      <
Area Left="0" Right="22" Top="24" Bottom="45">
        <
Cursor Type="DownArrow"/>
        <
Click>
        (
L:Color,enum&gt; if{ (L:Color,enum- (&gt;L:Color,enum)
    </
Click>
      </
Area>
   </
Mouse>


   <
Keys>
    <
On Key="L">
        (
L:Color,enum&lt; if{ (L:Color,enum+ (&gt;L:Color,enum)
    </
On>
    <
On Key="K">
        (
L:Color,enum&gt; if{ (L:Color,enum- (&gt;L:Color,enum)
    </
On>
   </
Keys>

</
Gauge

In der mouse-section wird je nach area beim Klicken die Variable L:Color um einen Wert erhöht bzw. vermindert.
In der keys-section ist die gleiche Aktion den Tasten "L" bzw. "K" zugewiesen. Funktioniert prächtig, nur sollte man darauf achten, Tasten nicht mehrfach zuzuweisen.


Gruß R.


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag