Posts Tagged ‘Keyboard’

Fix: Keyboard shortcuts Ctrl-C, Ctrl-V, Ctrl-Z, Ctrl-A not working in Word

For some time now, I was getting very annoyed while copy-pasting content from other software into Microsoft Word 2010. I would press CTRL+C at some other software and then would press ALT+TAB to go into an open Word document and press CTRL+V to paste, but it would not. So I had to move my fingers far away to SHIFT+INSERT to paste.

Today had enough so after some Google search on it, found the best fix by Moshe Eschel at:

To "restore" word to the way you remember, you need to go to, File->Options->Customize Ribbon On the bottom there is a label "Keyboard Shortcuts" and a button "Customize…" – click it

On the Categories box, scroll until you find "All Commands" and select it. Now, from the right box select the following Command: EditCopy Look at the "Current Keys" Box you will see "Ctrl+Insert" which is the NEW mapping now put your cursor in the "Press new shortcut key" and Press Ctrl+C, a button on the bottom named Assign will light up, and you click on it.

Do the same for all the shortcuts you like, such as EditPaste, EditUndo, EditRedo, EditCut, SelectAll etc.

Wonder why Microsoft didn’t add both the old and new shortcuts there, since it seems the dialog does support it. What a huge oversight, having Microsoft Word try to impose a shortcut from Macs (as it seems) to longtime Windows users (especially when other software the user works with use other set of shortcuts for copy-paste).

Moreover, the option to reassign the shortcut keys was very deeply hidden, hard for the average user to find it by themselves (couldn’t find it either and I don’t consider myself an average user).

Even more pathetic was the default shortcut key for Select All (usually Ctrl+A). It was Ctrl+5 and Ctrl+Clear (Numeric keyboard 5). What the heck Microsoft?

Categories: Posts Tags: , , , , , , ,

Class diagrams for Hotspotizer Kinect-based application source code

Following are class diagrams for Hotspotizer’s C# code, as is currently at 4 Aug 2015 at its refactored version I maintain in my fork at GitHub ( The respective diagram (.cd) files for Visual Studio are available in the code repository at the various subfolders:





Hotspotizer (εφαρμογή για Kinect, μετάφραση άρθρου στα ελληνικά)

Το παρακάτω κείμενο είναι μετάφραση στα ελληνικά της σελίδας:

Σχετική διπλωματική εργασία (του Mehmet Aydın Baytaş):

Ο πηγαίος κώδικας της εφαρμογής Hotspotizer είναι διαθέσιμος στο:

Μια βελτιωμένη έκδοση του πηγαίου κώδικα της εφαρμογής Hotspotizer είναι διαθέσιμη στο:

Επιβλέποντες: Prof Oğuzhan Özcan, Dr Yücel Yemez
Ανάπτυξη ιδέας: Mehmet Aydın Baytaş, Dr Ayça Ünlüer
Ανάπτυξη λογισμικού: Mehmet Aydın Baytaş

Σχετικό έργο: Προδιαγραφές πάνω σε Εκπαίδευση Σχεδίασης για Διάδραση μέσω Νευμάτων

Οι συσκευές ανέπαφης ανίχνευσης νευμάτων πλήρους σώματος όπως το Microsoft Kinect έχουν εισάγει έναν κόσμο από δυνατότητες στη διάδραση με υπολογιστές. Παρά ταύτα, η τεχνική κατανόηση και οι προγραμματιστικές δεξιότητες που απαιτούνται για να γίνει χρήση αυτών των συσκευών τις έχουν αφήσει αρκετά εκτός πρόσβασης από σχεδιαστές, χομπίστες, παίκτες και επαγγελματίες εκτός του χώρου των υπολογιστών. Για να μειώσουμε το κατώφλι των τεχνικών δεξιοτήτων που απαιτούνται για τη χρήση της σχετικής τεχνολογίας σε προσαρμοσμένες εφαρμογές και για να ενεργοποιήσουμε την ταχεία πρωτοτυποποίηση διαδράσεων βασισμένων σε νεύματα, έχουμε αναπτύξει το Hotspotizer.

Το Hotspotizer επιτρέπει σε χρήστες χωρίς δεξιότητες προγραμματισμού υπολογιστών να σχεδιάσουν, οπτικοποιήσουν, αποθηκεύσουν και ανακαλέσουν σύνολα από προσαρμοσμένα νεύματα πλήρους σώματος. Αυτά τα νεύματα αντιστοιχούνται με εντολές πληκτρολογίου σε όλο το λειτουργικό σύστημα που μπορούν να χρησιμοποιηθούν για τον έλεγχο οποιασδήποτε εφαρμογής που εκτελείται στις τρέχουσες εκδόσεις της πλατφόρμας των Microsoft Windows.

Το Hotspotizer επικεντρώνεται γύρω από ένα καινοτόμο, εύκολο στη χρήση γραφικό περιβάλλον διεπαφής, βασισμένο στη διακριτοποίηση του χώρου, για τον προσδιορισμό ελεύθερης μορφής, πλήρους σώματος νευμάτων (δηλ. τη “διδαχή” νευμάτων στον υπολογιστή) για χρήση με τον αισθητήρα Microsoft Kinect.


Το Hotspotizer έχει σχεδιαστεί κυρίως για τους παρακάτω σκοπούς:

  • Ψηφιακές τέχνες και εκπαίδευση σχεδίασης
  • Ταχεία πρωτοτυποποίηση διαδραστικών εφαρμογών με νεύματα πλήρους σώματος
  • Παιχνίδια
  • Προσαρμογή οποιουδήποτε λογισμικού χειριζόμενου μέσω πληκτρολογίου για χειρισμό με νεύματα

Στιγμιότυπα οθόνης


*: Το Hotspotizer θα ελέγξει και υποβοηθήσει για την εγκατάσταση αυτών των πακέτων λογισμικού κατά την εγκατάσταση του.
**: Το Hotspotizer θα ελέγξει και υποβοηθήσει για την εγκατάσταση αυτών των πακέτων λογισμικού κατά την εκκίνηση του.

Άδεια χρήσης (διαθέσιμο για κάθε χρήση, με υποχρεωτική παράθεση της άδειας)

The MIT License (MIT)
Copyright (c) 2014 Mehmet Aydın Baytaş

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.



Λήψη: (4 MB)

Αποσυμπιέστε το συμπιεσμένο αρχείο και τρέξτε το setup.exe για εγκατάσταση.

Εναλλακτικά (αν τα προαπαιτούμενα είναι εγκατεστημένα), μπορείτε απευθείας να τρέξετε το Hotspotizer.exe από τον υποφάκελο Application Files/Hotspotizer_X_X_X_X/.

Πρώτα βήματα

Το Hotspotizer αποτελείται από τρεις ενότητες:

  • Η ενότητα Διαχειριστή είναι για τη διαχείριση συνόλων νευμάτων: Αποθήκευση και φόρτωμα συνόλων νευμάτων, αφαίρεση νευμάτων από ένα σύνολο, εκκίνηση του Επεξεργαστή για την τροποποίηση ενός νεύματος ή για την προσθήκη ενός νέου νεύματος στο σύνολο, και εκκίνηση του Οπτικοποιητή για την έναρξη εξομοίωσης πληκτρολογίου.
  • Η ενότητα Επεξεργαστή είναι για τη δημιουργία νέων νευμάτων ή για αλλαγές σε ένα υπάρχον νεύμα.
  • Η ενότητα Οπτικοποιητή επιτελεί την εξομοίωση πληκτρολογίου και επιτρέπει στο χρήστη να δεί αν εκτελεί τα νεύματα του σωστά.

Εκκινήστε το Hotspotizer για την έναρξη μιας οθόνης Διαχειριστή με ένα άδειο σύνολο νευμάτων:

Αν το Hotspotizer δεν μπορεί να συνδεθεί επιτυχώς στον αισθητήρα Kinect σας, μια προειδοποίηση θα εμφανιστεί στη αριστερή πλευρά και οι λειτουργίες που σχετίζονται με το Kinect θα απενεργοποιηθούν.


Πατήστε το κουμπί “Προσθήκη νέου νεύματος” (Add New Gesture) για την έναρξη του Επεξεργαστή.

Θα υλοποιήσουμε ένα απλό νεύμα "αρπαγής" με το δεξί χέρι, από αριστερά προς τα δεξιά. Θα αντιστοιχίσουμε αυτό το νεύμα με το πλήκτρο "κενό" (space).

Αφού ονομάσετε το νεύμα, πατήστε το κουμπί "Εντολή πληκτρολογίου (Keyboard Command) για να ορίσετε την αντιστοίχιση πληκτρολογίου. Πατήστε το πλήκτρο "κενό" και κάντε κλικ στο σύμβολο "επιλογής" (check) για αποδοχή.

Το κουμπί δυο θέσεων "Πάτημα/Κράτημα" δίπλα στο κουμπί "Εντολή πληκτρολογίου" (Keyboard Command) ορίζει αν η εκτέλεση του νεύματος θα πρέπει να στείλει ένα μόνο πάτημα πλήκτρου ή να κρατήσει πατημένο το κουμπί πληκτρολογίου όσο το παρακολουθούμενο άκρο παραμένει στα ενεργά σημεία του τελευταίου βήματος του νεύματος.

Μπορείτε να αντιστοιχίσετε τα νεύματα σας σε οποιοδήποτε συνδιασμό πλήκτρων, όχι μονάχα ένα κουμπί.

Επιλέξτε το άκρο που θα χρησιμοποιηθεί για να εκτελεστεί το νεύμα – στην περίπτωση αυτή, το δεξί χέρι.


Θα υλοποιήσουμε ένα νεύμα “αρπαγής” που συμπεριλαμβάνει 3 βήματα: Το δεξί χέρι θα περάσει μέσα από “ενεργά σημεία” (hotspots) στα αριστερά, στο μέσο, και στα δεξιά αντίστοιχα.

Σημειώστε τα ενεργά σημεία για το πρώτο βήμα στο πλέγμα εμπρόσθιας όψης πρώτα. Στο πλέγμα πλευρικής όψης, που αρχικά είναι πλήρως απενεργοποιημένο, αυτό θα ενεργοποιήσει τις γραμμές που αντιστοιχούν σε αυτά τα ενεργά σημεία. Έπειτα σημειώστε τα ενεργά σημεία στο πλέγμα πλευρικής όψης. Θα δείτε τα ενεργά σημεία να οπτικοποιούνται στην τρισδιάστατη όψη (3D viewport).

Ένα “ενεργό σημείο” ορίζει ένα κυβικό κελί 15 εκ x 15 εκ x 15 εκ. Το πλέγμα εμπρόσθιας όψη σηματοδοτεί που βρίσκονται αυτά τα κελιά οριζόντια και κατακόρυφα. Το πλέγμα πλευρικής όψης σηματοδοτεί που βρίσκονται κατακόρυφα και εις βάθος. Το Hotspotizer ακολουθεί τα επιλεγμένα άκρα για κάθε νεύμα και καταχωρεί πότε περνούν από τα σημειωμένα ενεργά σημεία.

Μπορείτε να περιστρέψετε την 3D όψη στον Επεξεργαστή και τον Οπτικοποιητή κάνοντας δεξί κλικ και κρατώντας το δεξί πλήκτρο του ποντικιού πατημένο καθώς κινείτε το ποντίκι τριγύρω. Μπορείτε να μεγεθύνετε και σμικρύνετε χρησιμοποιώντας τη ρόδα κύλισης του ποντικιού ή το δεξί πλήκτρο του ποντικιού μαζί με το κουμπί Ctrl του πληκτρολογίου.

Μπείτε μπροστά από το Kinect για να δοκιμάσετε τα δοκιμάσετε. Δείτε αν τα ενεργά σημεία που σημειώστε αντιστοιχούν πραγματικά στο σημείο που θέλετε το δεξί σας χέρι να είναι όταν αρχίζετε το νεύμα.

Προσθέστε το δεύτερο (μεσαίο) βήμα χρησιμοποιώντας το κουμπί “Προσθήκη νέου βήματος” (Add New Frame) και σημειώστε ενεργά σημεία σε αυτό. Έπειτα προσθέστε το τρίτο βήμα.

Μπορείτε να επιστρέψετε και επεξεργαστείτε κάποιο βήμα κάνοντας κλικ πάνω τους στη χρονογραμμή στο κάτω μέρος. Μπορείτε επίσης να αναδιατάξετε και διαγράψετε βήματα χρησιμοποιώντας τα κουμπιά κάτω από τα μικρά πλαίσια των βημάτων εκεί.

Καθώς προσθέτετε βήματα, τα ενεργά σημεία των προηγούμενων βημάτων θα συνεχίζουν να εμφανίζονται στην 3D όψη, αλλά θα γίνουν πιο διαφανή. Αν υπάρχουν άλλα νεύματα στο σύνολο νευμάτων στο οποίο δουλεύετε, αυτά θα εμφανίζονται επίσης εκεί, και θα είναι πολύ διαφανή (δείτε στιγμιότυπα οθόνης παραπάνω). Αυτό γίνεται για την υποβοήθηση του χρήστη στο να παρακολουθεί που είναι τα τρέχοντα ενεργά σημεία σε σχέση με τα άλλα νεύματα στο σύνολο.


Αποθηκεύστε το νεύμα. Το νεύμα είναι τώρα μέρος της συλλογής νευμάτων που είναι φορτωμένη στο Διαχειριστή και μπορείτε να δείτε τη συμπεριφορά του ως προς το πάτημα ή κράτημα, την αντιστοίχιση πλήκτρου και το όνομα να αναφέρονται εκεί, μαζί με πλήκτα για την έναρξη του Επεξεργαστή για την πραγματοποίηση αλλαγών στο νεύμα και για τη διαγραφή του νεύματος εντελώς από τη συλλογή νευμάτων.


Πατήστε το κουμπί “Έναρξη εξομοίωσης” (Begin Emulation) (ή “Παίξιμο” [Play]) για να εκκινήσετε τον Οπτικοποιητή. Ο Οπτικοποιητής θα εμφανίσει:

  • Μια χρωματικά κωδικοποιημένη λίστα των νευμάτων στην τρέχουσα συλλογή νευμάτων μαζί με τη συμπεριφορά τους ως προς το πάτημα ή κράτημα, την αντιστοίχιση πλήκτρου και το όνομα τους.
  • Σε μια μεγεθυνόμενη και περιστρεφόμενη 3D όψη και μη μετακινήσιμων εμπρόσθιων και πλάγιων όψεων, τα ενεργά σημεία, χρωματικά κωδικοποιημένα, όλων των νευμάτων στη συλλογή νευμάτων. Η διαφάνεια των ενεργών σημείων αντιστοιχεί στο βήμα που ανήκουν σε ένα νεύμα. Τα διαφανή ενεργά σημεία είναι που πρέπει να αγγίζονται πριν από τα περισσότερο αδιαφανή.

Τα ενεργά σημεία και τα αντικείμενα της λίστας θα φωτιστούν καθώς πραγματοποιείτε το νεύμα. Μπείτε μπροστά από το Kinect και δοκιμάστε το!

Όταν ένα παρακολουθούμενο άκρο περνά από τα ενεργά σημεία που ανήκουν σε ένα νεύμα, η εντολή πληκτρολογίου αυτού του νεύματος εκτελείται. Αυτό επίσης λειτουργεί όταν το Hotspotizer είναι κρυμμένο ή όταν μια άλλη εφαρμογή είναι σε χρήση (στο προσκήνιο).

Το νεύμα “αρπαγής”, για παράδειγμα, μπορεί να χρησιμοποιηθεί για να προχωρήσουν οι διαφάνειες μιας παρουσίασης.

Στο Διαχειριστή, μπορείτε να προσθέσετε νέα νεύματα στη συλλογή νευμάτων σας (για παράδειγμα, ένα νεύμα “ανάστροφης αρπαγής” αντιστοιχισμένο στο πλήκτρο “backspace” [σβησίματος προηγούμενου χαρακτήρα] για την εμφάνιση της προηγούμενης διαφάνειας κατά τη διάρκεια μιας παρουσίασης), ή να αποθηκεύσετε τη συλλογή νευμάτων για μελλοντική χρήση.

Οι συλλογές νευμάτων αποθηκεύονται ως δεδομένα “JSON”, με την επέκταση αρχείου “.hsjson”. Περίεργοι και τεχνικά επιδέξιοι χρήστες μπορούν να επεξεργαστούν αυτά τα αρχεία για να διερευνήσουν δυνατότητες χρήσης.

Σημειώσεις έκδοσης

  • 1.0.0 εισάγει ενημερώσεις στη γραφική διεπαφή (GUI), μαζί με βελτιώσεις στις επιδόσεις και τη σταθερότητα.
  • 0.9.7 εισάγει μια διόρθωση που δεν επιτρέπει σε ένα νεύμα να μην περιέχει βήματα.
  • 0.9.6 εισάγει αλλαγές στη γραφική διεπαφή και διορθώνει ένα σφάλμα στην εξομοίωση πληκτρολογίου που επηρέαζε τα νεύματα που ήταν αντιστοιχισμένα σε συνδυασμούς πλήκτρων.
  • 0.9.5 διορθώνει ένα πρόβλημα με την ανάγνωση πλήκτρων του πληκτρολογίου που δεν επέτρεπε συνδυασμούς πλήκτρων που περιελάμβαναν το πλήκτρο “alt”, και εισάγει μικρές βελτιώσεις γραφικής διεπαφής στον Οπτικοποιητή.
  • 0.9.4 εισάγει βελτιώσεις στη γραφική διεπαφή για τη βελτίωση της αναγνώρισης των ενεργών σημείων στον Επεξεργαστή.
  • 0.9.3 διορθώνει ένα πρόβλημα με τον αναγνωριστή νεύματος που έκανε τα νεύματα μονού βήματος που ήταν ρυθμισμένα να στέλνουν πατήματα πλήκτρων, να τα κρατούν πατημένα.
  • 0.9.2 διορθώνει το πρόβλημα με τη μη σωστή εμφάνιση των εικονιδίων στα Windows 7.
  • 0.9.1 διορθώνει μικρά προβλήματα στον αναγνωριστή νεύματος.
  • 0.9.0 αρχική δημόσια έκδοση.
Γνωστά θέματα στην τρέχουσα έκδοση
  • Η εφαρμογή μπορεί να εμφανίσει σφάλμα στην εκκίνηση της, αφού εμφανίσει μήνυμα προειδοποίησης, αν το Kinect Runtime δεν είναι εγκατεστημένο.
%d bloggers like this: