Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML while ( true ) { std::cout << "Wait for connection...\n" ; try { socket = server.Accept(); } catch ( const char *error ) { std::cout << error << std:: endl ; exit( 0 ); } bool keepAlive = true; int timeout = 10000 ; setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool )); setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int )); std::cout << "Connected!\n" ; while ( true ) { std: :string msg = socket->ReceiveLine(); if ( msg.empty( )) break; processKeys( msg.c_str( )); } std::cout << "Disconnected.\n\n\n" ; }
Copy Source | Copy HTML
- void pressKeys ( char key1, char key2 ) {
- // press previous keys
- for ( std :: map <char, int> :: iterator it = scanCodes.begin ( ); it! = scanCodes.end (); it ++) {
- char curKey = it-> first;
- if ( curKey! = key1 && curKey! = key2 )
- upKey ( curKey );
- }
- downKey ( key1 );
- downKey ( key2 );
- }
- void downKey ( char key ) {
- keybd_event ( VkKeyScan (key ), scanCodes [key], 0 , 0 );
- }
- void upKey ( char key ) {
- keybd_event ( VkKeyScan (key ), scanCodes [key], KEYEVENTF_KEYUP, 0 );
- }
Copy Source | Copy HTML
- public class MainActivity extends Activity implements SensorEventListener {
- @Override
- public void onCreate (Bundle savedInstanceState) {
- // ...
- sensorManager = (SensorManager) getSystemService (SENSOR_SERVICE);
- accelerometer = sensorManager.getDefaultSensor (Sensor.TYPE_ACCELEROMETER);
- // ...
- }
- @Override
- public void onSensorChanged (SensorEvent event ) {
- if ( event .sensor.getType () == Sensor.TYPE_ACCELEROMETER) {
- long curTime = System.currentTimeMillis ();
- // read data every 100 ms, otherwise the phone will be bent from the garbage collector
- if (lastUpdate == - 1 || (curTime - lastUpdate)> 100 ) {
- lastUpdate = curTime;
- x = event. Values ββ[DATA_X];
- y = event. Values ββ[DATA_Y];
- z = event. Values ββ[DATA_Z];
- xLabel.setText (String.format ( "X:% + 2.5f" , x));
- yLabel.setText (String.format ( "Y:% + 2.5f" , y));
- zLabel.setText (String.format ( "Z:% + 2.5f" , z));
- try {
- sendKeys (); // analysis of coordinates for sending keys to the server
- } catch (Exception e) {
- e.printStackTrace ();
- }
- }
- }
- }
- }
Copy Source | Copy HTML
- @Override
- protected void onResume () {
- super.onResume ();
- sensorManager.registerListener ( this , accelerometer, SENSOR_DELAY_NORMAL);
- }
- @Override
- protected void onPause () {
- super.onPause ();
- sensorManager.unregisterListener ( this );
- }
Copy Source | Copy HTML
- private String getKeys () {
- String keys = "" ;
- if (z> 7. 5 )
- keys + = "W" ;
- else
- keys + = "S" ;
- if (y <- 3 )
- keys + = "A" ;
- else if (y> 3 )
- keys + = "D" ;
- return keys;
- }
Source: https://habr.com/ru/post/111511/
All Articles