background image

 

       59 

για σύνδεση χειριστηρίου με τον Η/Υ· και εμφάνιση πλαισίου  μηνύματος (Message 

Box) σφάλματος, σε περίπτωση που δεν έχει προηγηθεί. Σε αντίθετη περίπτωση, δημι-

ουργείται  ένα  αντικείμενο  (DirectInput  object)  στο  οποίο  θα  βασιστούν  οι  μέθοδοι 

απαρίθμησης συσκευών εισόδου και δημιουργίας ενός αντικειμένου που θα αναπαρι-

στά  το  χειριστήριο  (DirectInputDevice  object),  ύστερα  από  κλήση  της  συνάρτησης 

EnumJoypadsCallback()

51

. Επιπρόσθετα, ρυθμίζεται η συσκευή ώστε να προσδιορι-

στούν οι μηχανισμοί δράσης του χειριστηρίου (πλήκτρα, ψηφιακό πληκτρολόγιο κα-

τεύθυνσης, αναλογικοί μοχλοί) και να καθοριστεί ο τρόπος με τον οποίο η συσκευή 

διαμοιράζεται με άλλες εφαρμογές ή με το σύστημα. 

Ακολουθεί η απαρίθμηση των μηχανισμών δράσης του χειριστηρίου και ορί-

ζεται η κλίμακα τιμών των αναλογικών μοχλών, ύστερα από κλήση της συνάρτησης 

EnumObjectsCallback()

52

Η ανάκτηση των δεδομένων εισόδου, πραγματοποιείται μέσω της συνάρτησης 

UpdateInputState()

,  η  οποία  επιπρόσθετα  αναλαμβάνει  την  εμφάνισή  τους,  στο 

πλαίσιο διαλόγου. 

Τέλος,  πραγματοποιείται  αποδέσμευση  τόσο  του  χειριστηρίου,  όσο  και  του 

αντικειμένου που δημιουργήθηκε μέσω της συνάρτησης 

FreeDirectInput()

 

Εικόνα 4.12: Εφαρμογή εκτύπωσης κωδικών χειριστηρίου στον Η/Υ. 

                                                      

51

 H συνάρτηση 

EnumJoypadsCallback()

 καλείται να εκτελεστεί, μέσα από το σώμα της συνάρτη-

σης 

InitDirectInput()

, κάθε φορά που απαριθμείται μία συσκευή εισόδου. 

52

 H συνάρτηση 

EnumObjectsCallback()

 καλείται να εκτελεστεί, μέσα από το σώμα της συνάρτη-

σης 

InitDirectInput()

, κάθε φορά που απαριθμείται ένας μηχανισμός δράσης του χειριστηρίου.