{"id":1525,"date":"2025-12-21T23:54:33","date_gmt":"2025-12-21T22:54:33","guid":{"rendered":"http:\/\/blog.m-ri.de\/?p=1525"},"modified":"2025-12-22T00:02:09","modified_gmt":"2025-12-21T23:02:09","slug":"ptzcontrol-unterstuetzt-nun-auch-globale-hotkeys","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2025\/12\/21\/ptzcontrol-unterstuetzt-nun-auch-globale-hotkeys\/","title":{"rendered":"PTZControl unterst\u00fctzt nun auch globale Hotkeys"},"content":{"rendered":"\n<p>Bisher konnte man <strong>PTZControl<\/strong> nur mit der Maus bedienen. Alternativ lie\u00dfen sich die integrierten Hotkeys verwenden, solange das Programm aktiv war und den Eingabefokus besa\u00df.<\/p>\n\n\n\n<p>Nun habe ich <strong>globale Hotkeys<\/strong> integriert, wie man sie von Windows-Befehlen mit der Windows-Taste kennt. Dabei spielt es keine Rolle mehr, welches Programm aktuell den Eingabefokus hat \u2013 der entsprechende Befehl wird immer in dem Programm ausgel\u00f6st, das den Hotkey registriert hat.<\/p>\n\n\n\n<p>Da sehr viele Tastenkombinationen mit der Windows-Taste bereits belegt sind, habe ich mich entschieden, die <strong>numerischen Tasten des Nummernblocks (Numeric Keypad)<\/strong> zu verwenden. D.h. auch, dass Num-Lock eingeschaltet sein muss. Ist Num-Lock ausgeschaltet haben die Tasten im numerischen Tastenblock Cursor-Funktion en.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Kamera 1<\/strong> (Windows Taste + Numerische Taste)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Windows-Taste + 0<\/strong> (im numerischen Tastaturblock) = Home Position Kamera 1<\/li>\n\n\n\n<li><strong>Windows-Taste + 1-8<\/strong> (im numerischen Tastaturblock) = Speicherposition 1-8 der Kamera 1<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Kamera <\/strong>2 (zus\u00e4tzlich mit der Strg-Taste)<\/h3>\n\n\n\n<ul id=\"block-2233bcdb-628e-40c1-ad5c-5eac612d80c6\" class=\"wp-block-list\">\n<li><strong>Windows-Taste + Strg-Taste + 0<\/strong> (im numerischen Tastaturblock) =&gt; Home Position Kamera 2<\/li>\n\n\n\n<li><strong>Windows-Taste + Strg-Taste + 1-8<\/strong> (im numerischen Tastaturblock) =&gt; Speicherposition 1-8, der Kamera 2<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Kamera <\/strong>3 (zus\u00e4tzlich mit der Alt-Taste)<\/h3>\n\n\n\n<ul id=\"block-2233bcdb-628e-40c1-ad5c-5eac612d80c6\" class=\"wp-block-list\">\n<li><strong>Windows-Taste + Alt-Taste + 0<\/strong> (im numerischen Tastaturblock) =&gt; Home Position Kamera 3<\/li>\n\n\n\n<li><strong>Windows-Taste + Alt-Taste + 1-8<\/strong> (im numerischen Tastaturblock) =&gt; Speicherposition 1-8, der Kamera 3<\/li>\n<\/ul>\n\n\n\n<p>Das praktische ist hier, dass man nicht einmal die aktive Kamera wechseln muss. Selbst wenn Kamera 1 aktiv ist kann man mit <strong>Windows-Taste+Strg+2<\/strong>, die Position-2 der zweiten Kamera ausw\u00e4hlen, und mir <strong>Windows-Taste+1 <\/strong>sofort die auf Memory-Position 1 gespeicherte Kameraposition ausw\u00e4hlen.<\/p>\n\n\n\n<p>Neueste Version 2.4.0 ist verf\u00fcgbar \u00fcber GitHub. <br><a href=\"https:\/\/github.com\/xMRi\/PTZControl\">https:\/\/github.com\/xMRi\/PTZControl<\/a><\/p>\n\n\n\n<p><em>Anmerkung: Sollte bereits ein Programm die gleichen globalen Hotkeys benutzen, dann &#8222;gewinnt&#8220; das Programm, das zuerst gestartet wird. Nur dessen Hotkeys k\u00f6nnen dann verwendet werden.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bisher konnte man PTZControl nur mit der Maus bedienen. Alternativ lie\u00dfen sich die integrierten Hotkeys verwenden, solange das Programm aktiv war und den Eingabefokus besa\u00df. Nun habe ich globale Hotkeys integriert, wie man sie von Windows-Befehlen mit der Windows-Taste kennt. Dabei spielt es keine Rolle mehr, welches Programm aktuell den Eingabefokus hat \u2013 der entsprechende &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2025\/12\/21\/ptzcontrol-unterstuetzt-nun-auch-globale-hotkeys\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201ePTZControl unterst\u00fctzt nun auch globale Hotkeys\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,30,407,3,12,76,414],"tags":[405,400,408,406],"class_list":["post-1525","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-c","category-open-source","category-programmieren","category-software","category-tools","category-vs-2026-programmieren","tag-github","tag-logitech","tag-opensource","tag-ptzcontrol"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/1525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=1525"}],"version-history":[{"count":3,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/1525\/revisions"}],"predecessor-version":[{"id":1528,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/1525\/revisions\/1528"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=1525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=1525"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=1525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}