Third set of 50 GPL attribution for CV-Contributors added +
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / androidcontrol.C
index 0417ceb45ddb7b76856c9727b835ebb004df358c..89a9aca5a70e283f3a0930d4b08d04edfafbcecb 100644 (file)
@@ -1,3 +1,22 @@
+/*
+ * CINELERRA
+ * Copyright (C) 2016-2020 William Morrow
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
 
 #include "keys.h"
 #include "mwindow.h"
@@ -47,6 +66,9 @@ AndroidControl::AndroidControl(MWindowGUI *mwindow_gui)
 {
        this->mwindow_gui = mwindow_gui;
        Thread::start();
+       done = -1;
+       sockfd = -1;
+       msg = 0;
 }
 
 bool AndroidControl::is_msg(const char *cp)
@@ -59,6 +81,8 @@ bool AndroidControl::is_msg(const char *cp)
 void AndroidControl::press(int key)
 {
 // printf("press 0x%04x\n",key);
+       if( key == KPMENU && mwindow_gui->keyev_grab_remote() )
+               printf("android grab remote\n");
        if( mwindow_gui->key_listener(key) ) return;
        mwindow_gui->remote_control->remote_key(key);
 }
@@ -96,19 +120,7 @@ void AndroidControl::run()
                if( !len || !msg_len || *pin != *msg ) continue;
                ++msg; --msg_len;
                if( msg_len <= 0 ) continue;
-               if( is_msg("stop") ) press(KPSTOP);
-               else if( is_msg("play") ) press(KPPLAY);
-               else if( is_msg("rplay") ) press(KPREV);
-               else if( is_msg("pause") ) press(' ');
-                       else if( is_msg("fast_lt") ) press(KPBACK);
-               else if( is_msg("media_up") ) press(UP);
-               else if( is_msg("fast_rt") ) press(KPFWRD);
-               else if( is_msg("menu") ) press(KPMENU);
-               else if( is_msg("media_lt") ) press(LEFT);
-               else if( is_msg("media_rt") ) press(RIGHT);
-               else if( is_msg("slow_lt") ) press(KPRECD);
-               else if( is_msg("media_dn") ) press(DOWN);
-               else if( is_msg("slow_rt") ) press(KPAUSE);
+               if( is_msg("menu") ) press(KPMENU);
                else if( is_msg("key 0") ) press('0');
                else if( is_msg("key 1") ) press('1');
                else if( is_msg("key 2") ) press('2');
@@ -124,9 +136,31 @@ void AndroidControl::run()
                else if( is_msg("key C") ) press('c');
                else if( is_msg("key D") ) press('d');
                else if( is_msg("key E") ) press('e');
-               else if( is_msg("key F") ) press('f');
+               else if( is_msg("book") ) press(KPBOOK);
+               else if( is_msg("rplay") ) press(KPREV);
+               else if( is_msg("stop") ) press(KPSTOP);
+               else if( is_msg("play") ) press(KPPLAY);
+               else if( is_msg("media_lt") ) press(LEFT);
+               else if( is_msg("media_rt") ) press(RIGHT);
+               else if( is_msg("media_up") ) press(UP);
+               else if( is_msg("media_dn") ) press(DOWN);
+               else if( is_msg("pause") ) press(' ');
+               else if( is_msg("slow_lt") ) press(KPRECD);
+               else if( is_msg("slow_rt") ) press(KPAUSE);
+                       else if( is_msg("fast_lt") ) press(KPBACK);
+               else if( is_msg("fast_rt") ) press(KPFWRD);
+               else if( is_msg("fscrn") ) press(KPFSCRN);
+               else if( is_msg("mute") ) press(KPMUTE);
+               else if( is_msg("vol_up") ) press(KPVOLUP);
+               else if( is_msg("vol_dn") ) press(KPVOLDN);
+               else if( is_msg("ch_up") ) press(KPCHUP);
+               else if( is_msg("ch_dn") ) press(KPCHDN);
+               else if( is_msg("key dot") ) press('.');
+               else if( is_msg("key cc") ) press(KPCC);
+               else if( is_msg("key tv") ) press(KPTV);
+               else if( is_msg("hand") ) press(KPHAND);
                else if( is_msg("suspend") ) {
-                       system("sync; sleep 1; pm-suspend");
+                       system("sync; sleep 1; acpitool -s");
                }
                else if( is_msg("power") ) {
                        system("sync; sleep 1; poweroff");