parent
eed914cddd
commit
42ab1eed88
@ -1 +1 @@ |
|||||||
UDPtest000 |
GG |
||||||
|
|||||||
@ -1 +1 @@ |
|||||||
GG |
UDPtest000 |
||||||
@ -0,0 +1,73 @@ |
|||||||
|
package cf.cafelutza.gg; |
||||||
|
|
||||||
|
import static java.lang.Math.abs; |
||||||
|
|
||||||
|
import android.hardware.Sensor; |
||||||
|
import android.hardware.SensorEvent; |
||||||
|
import android.hardware.SensorEventListener; |
||||||
|
import android.hardware.SensorManager; |
||||||
|
import android.os.Bundle; |
||||||
|
import android.util.Log; |
||||||
|
import android.widget.Button; |
||||||
|
import android.widget.ToggleButton; |
||||||
|
|
||||||
|
import androidx.annotation.Nullable; |
||||||
|
import androidx.appcompat.app.AppCompatActivity; |
||||||
|
|
||||||
|
public class PresentationActivity extends AppCompatActivity { |
||||||
|
@Override |
||||||
|
protected void onCreate(@Nullable Bundle savedInstanceState) { |
||||||
|
super.onCreate(savedInstanceState); |
||||||
|
setContentView(R.layout.activity_presentetion); |
||||||
|
|
||||||
|
SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); |
||||||
|
Sensor gyroscope=sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE); |
||||||
|
sensorManager.registerListener(new SensorEventListener() { |
||||||
|
@Override |
||||||
|
public void onSensorChanged(SensorEvent sensorEvent) { |
||||||
|
if(sensorEvent.sensor.getType()==Sensor.TYPE_GYROSCOPE) |
||||||
|
{ |
||||||
|
|
||||||
|
ToggleButton toggleGyro=findViewById(R.id.toggleGyro); |
||||||
|
int gyroscopeX= (int) (sensorEvent.values[2]*-10); |
||||||
|
int gyroscopeY= (int) (sensorEvent.values[0]*-10); |
||||||
|
|
||||||
|
if (toggleGyro.isChecked()) { |
||||||
|
if(abs(gyroscopeX)>0||abs(gyroscopeY)>0) { |
||||||
|
MainScreen.client.Send("GG:1|MOUS:0|XYMS:"+gyroscopeX+"|"+gyroscopeY+"|;"); |
||||||
|
Log.d("GYROX:", String.valueOf(gyroscopeX)); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onAccuracyChanged(Sensor sensor, int i) { |
||||||
|
|
||||||
|
} |
||||||
|
}, gyroscope, SensorManager.SENSOR_DELAY_FASTEST); |
||||||
|
|
||||||
|
Button bpen=findViewById(R.id.bpen); |
||||||
|
Button berase=findViewById(R.id.berase); |
||||||
|
Button binapoi=findViewById(R.id.binapoi); |
||||||
|
Button binainte=findViewById(R.id.binainte); |
||||||
|
|
||||||
|
ToggleButton toggleGyro=findViewById(R.id.toggleGyro); |
||||||
|
|
||||||
|
UDP_Client client = MainScreen.client; |
||||||
|
|
||||||
|
bpen.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|KYBD:0|KBKY:b|;"); |
||||||
|
}); |
||||||
|
berase.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|KYBD:0|KBKY:e|;"); |
||||||
|
}); |
||||||
|
binapoi.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|HTKY:0|HBKS:1|;"); |
||||||
|
}); |
||||||
|
binainte.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|HTKY:0|HNTR:1|;"); |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,101 @@ |
|||||||
|
package cf.cafelutza.gg; |
||||||
|
|
||||||
|
import android.os.Bundle; |
||||||
|
import android.text.InputFilter; |
||||||
|
import android.text.SpannableStringBuilder; |
||||||
|
import android.widget.Button; |
||||||
|
import android.widget.EditText; |
||||||
|
import android.widget.ToggleButton; |
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity; |
||||||
|
|
||||||
|
public class TextboxActivity extends AppCompatActivity { |
||||||
|
@Override |
||||||
|
public void onCreate(Bundle savedInstanceState) { |
||||||
|
super.onCreate(savedInstanceState); |
||||||
|
setContentView(R.layout.textbox_activity); |
||||||
|
EditText text=findViewById(R.id.editTextText); |
||||||
|
ToggleButton lctrl=findViewById(R.id.lctrl); |
||||||
|
ToggleButton lshift=findViewById(R.id.lshift); |
||||||
|
ToggleButton lalt=findViewById(R.id.lalt); |
||||||
|
ToggleButton lgui=findViewById(R.id.lgui); |
||||||
|
ToggleButton rctrl=findViewById(R.id.rctrl); |
||||||
|
ToggleButton rshift=findViewById(R.id.rshift); |
||||||
|
ToggleButton ralt=findViewById(R.id.ralt); |
||||||
|
ToggleButton rgui=findViewById(R.id.rgui); |
||||||
|
Button send=findViewById(R.id.send); |
||||||
|
|
||||||
|
UDP_Client client = MainScreen.client; |
||||||
|
text.setSingleLine(true); |
||||||
|
text.setFilters(new InputFilter[]{ |
||||||
|
(source, start, end, spanned, i2, i3) -> { |
||||||
|
if (source instanceof SpannableStringBuilder) { |
||||||
|
SpannableStringBuilder sourceAsSpannableBuilder = (SpannableStringBuilder)source; |
||||||
|
for (int i = end - 1; i >= start; i--) { |
||||||
|
char currentChar = source.charAt(i); |
||||||
|
if (!(currentChar>='!'&¤tChar<='~')) { |
||||||
|
sourceAsSpannableBuilder.delete(i, i+1); |
||||||
|
} |
||||||
|
} |
||||||
|
return source; |
||||||
|
} else { |
||||||
|
StringBuilder filteredStringBuilder = new StringBuilder(); |
||||||
|
for (int i = start; i < end; i++) { |
||||||
|
char currentChar = source.charAt(i); |
||||||
|
if (!(currentChar>='!'&¤tChar<='~')) { |
||||||
|
filteredStringBuilder.append(currentChar); |
||||||
|
} |
||||||
|
} |
||||||
|
return filteredStringBuilder.toString(); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
/* |
||||||
|
lctrl.setOnClickListener(view -> lctrl.toggle() ); |
||||||
|
lshift.setOnClickListener(view-> lshift.toggle()); |
||||||
|
lalt.setOnClickListener(view -> lalt.toggle() ); |
||||||
|
lgui.setOnClickListener(view -> lgui.toggle() ); |
||||||
|
|
||||||
|
rctrl.setOnClickListener(view -> rctrl.toggle() ); |
||||||
|
rshift.setOnClickListener(view-> rshift.toggle()); |
||||||
|
ralt.setOnClickListener(view -> ralt.toggle() ); |
||||||
|
rgui.setOnClickListener(view -> rgui.toggle() );*/ |
||||||
|
|
||||||
|
send.setOnClickListener(view -> { |
||||||
|
boolean holdlctrl=lctrl.isChecked(); |
||||||
|
boolean holdlshift=lshift.isChecked(); |
||||||
|
boolean holdlalt=lalt.isChecked(); |
||||||
|
boolean holdlgui=lgui.isChecked(); |
||||||
|
boolean holdrctrl=rctrl.isChecked(); |
||||||
|
boolean holdrshift=rshift.isChecked(); |
||||||
|
boolean holdralt=ralt.isChecked(); |
||||||
|
boolean holdrgui=rgui.isChecked(); |
||||||
|
int mods=0; |
||||||
|
int bits=1; |
||||||
|
|
||||||
|
if(holdlctrl) { mods|=bits; } bits<<=1; |
||||||
|
if(holdlshift) { mods|=bits; } bits<<=1; |
||||||
|
if(holdlalt) { mods|=bits; } bits<<=1; |
||||||
|
if(holdlgui) { mods|=bits; } bits<<=1; |
||||||
|
if(holdrctrl) { mods|=bits; } bits<<=1; |
||||||
|
if(holdrshift) { mods|=bits; } bits<<=1; |
||||||
|
if(holdralt) { mods|=bits; } bits<<=1; |
||||||
|
if(holdrgui) { mods|=bits; } bits<<=1; |
||||||
|
|
||||||
|
client.Send("GG:1|KYBD:0|KBMD:"+mods+"|;"); |
||||||
|
|
||||||
|
|
||||||
|
String tosend=text.getText().toString(); |
||||||
|
client.Send( "GG:1|KYBD:"+tosend.length()+"|KBKS:"+tosend+"|;"); |
||||||
|
|
||||||
|
// for (int i=0;i<tosend.length();i++) {
|
||||||
|
// client.Send( "GG:1|KYBD:0|KBKY:"+tosend.charAt(i)+"|;");
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
client.Send("GG:1|KYBD:0|KBRA:0|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,100 @@ |
|||||||
|
package cf.cafelutza.gg; |
||||||
|
|
||||||
|
import android.os.Bundle; |
||||||
|
import android.widget.Button; |
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity; |
||||||
|
|
||||||
|
public class TrackpadActivity extends AppCompatActivity { |
||||||
|
@Override |
||||||
|
public void onCreate(Bundle savedInstanceState) { |
||||||
|
super.onCreate(savedInstanceState); |
||||||
|
setContentView(R.layout.trackpad_activity); |
||||||
|
|
||||||
|
Button b00=findViewById(R.id.b00); |
||||||
|
Button b01=findViewById(R.id.b01); |
||||||
|
Button b02=findViewById(R.id.b02); |
||||||
|
Button b03=findViewById(R.id.b03); |
||||||
|
Button b10=findViewById(R.id.b10); |
||||||
|
Button b11=findViewById(R.id.b11); |
||||||
|
Button b12=findViewById(R.id.b12); |
||||||
|
Button b13=findViewById(R.id.b13); |
||||||
|
Button b20=findViewById(R.id.b20); |
||||||
|
Button b21=findViewById(R.id.b21); |
||||||
|
Button b22=findViewById(R.id.b22); |
||||||
|
Button b23=findViewById(R.id.b23); |
||||||
|
|
||||||
|
UDP_Client client = MainScreen.client; |
||||||
|
|
||||||
|
b00.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|MBTN:4|MBUD:1|;"); |
||||||
|
|
||||||
|
client.Send("GG:1|MBTN:4|MBUD:0|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b10.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|MBTN:5|MBUD:1|;"); |
||||||
|
|
||||||
|
client.Send("GG:1|MBTN:5|MBUD:0|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
b01.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|MBTN:2|MBUD:1|;"); |
||||||
|
|
||||||
|
client.Send("GG:1|MBTN:2|MBUD:0|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b02.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|HTKY:0|HNTR:1|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b03.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|HTKY:0|HSTB:1|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b13.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|HTKY:0|HTAB:1|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b11.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|MBTN:6|MBUD:1|;"); |
||||||
|
|
||||||
|
client.Send("GG:1|MBTN:6|MBUD:0|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b12.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|MBTN:7|MBUD:1|;"); |
||||||
|
|
||||||
|
client.Send("GG:1|MBTN:7|MBUD:0|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b20.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|HTKY:0|HCMI:1|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b21.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|HTKY:0|HCPL:1|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b22.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|HTKY:0|HCTW:1|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
|
||||||
|
b23.setOnClickListener(view -> { |
||||||
|
client.Send("GG:1|HTKY:0|HCTT:1|;"); |
||||||
|
|
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,109 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||||
|
xmlns:tools="http://schemas.android.com/tools" |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="match_parent"> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline24" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="horizontal" |
||||||
|
app:layout_constraintGuide_percent=".666" /> |
||||||
|
|
||||||
|
<cf.cafelutza.gg.TrackpadView |
||||||
|
android:id="@+id/trackpadView2" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline24" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="parent" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline25" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="horizontal" |
||||||
|
app:layout_constraintGuide_percent=".832" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline26" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="vertical" |
||||||
|
app:layout_constraintGuide_percent=".333" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline27" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="vertical" |
||||||
|
app:layout_constraintGuide_percent=".666" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/bpen" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="Pen" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline25" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline26" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline24" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/berase" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="Erase" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline25" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline27" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline24" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/binapoi" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="←" |
||||||
|
android:textSize="34sp" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline26" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline25" |
||||||
|
app:layout_constraintVertical_bias="0.533" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/bb" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="B" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline27" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline26" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline25" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/binainte" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="→" |
||||||
|
android:textSize="34sp" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline27" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline25" /> |
||||||
|
|
||||||
|
<ToggleButton |
||||||
|
android:id="@+id/toggleGyro" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:textAllCaps="false" |
||||||
|
android:textOff="gyro" |
||||||
|
android:textOn="GYRO" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline25" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline27" |
||||||
|
app:layout_constraintStart_toEndOf="@+id/bpen" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline24" /> |
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout> |
||||||
@ -0,0 +1,130 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||||
|
xmlns:tools="http://schemas.android.com/tools" |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="match_parent"> |
||||||
|
|
||||||
|
<EditText |
||||||
|
android:id="@+id/editTextText" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:ems="10" |
||||||
|
android:hint="Text..." |
||||||
|
android:inputType="text" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="parent" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/send" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:text="Send" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toBottomOf="@+id/editTextText" /> |
||||||
|
|
||||||
|
<TableLayout |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/send" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toBottomOf="@+id/editTextText"> |
||||||
|
|
||||||
|
<TableRow |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="match_parent" > |
||||||
|
|
||||||
|
<ToggleButton |
||||||
|
android:id="@+id/lctrl" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:checked="false" |
||||||
|
android:text="lctrl" |
||||||
|
android:textAllCaps="false" |
||||||
|
android:textOff="lctrl" |
||||||
|
android:textOn="LCTRL" /> |
||||||
|
|
||||||
|
<ToggleButton |
||||||
|
android:id="@+id/lshift" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:checked="false" |
||||||
|
android:text="lshift" |
||||||
|
android:textAllCaps="false" |
||||||
|
android:textOff="lshift" |
||||||
|
android:textOn="LSHIFT" /> |
||||||
|
|
||||||
|
<ToggleButton |
||||||
|
android:id="@+id/lalt" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:checked="false" |
||||||
|
android:text="lalt" |
||||||
|
android:textAllCaps="false" |
||||||
|
android:textOff="lalt" |
||||||
|
android:textOn="LALT" /> |
||||||
|
|
||||||
|
<ToggleButton |
||||||
|
android:id="@+id/lgui" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:checked="false" |
||||||
|
android:text="lgui" |
||||||
|
android:textAllCaps="false" |
||||||
|
android:textOff="lgui" |
||||||
|
android:textOn="LGUI" /> |
||||||
|
</TableRow> |
||||||
|
|
||||||
|
<TableRow |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="match_parent" > |
||||||
|
|
||||||
|
<ToggleButton |
||||||
|
android:id="@+id/rctrl" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:checked="false" |
||||||
|
android:text="rctrl" |
||||||
|
android:textAllCaps="false" |
||||||
|
android:textOff="rctrl" |
||||||
|
android:textOn="RCTRL" /> |
||||||
|
|
||||||
|
<ToggleButton |
||||||
|
android:id="@+id/rshift" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:checked="false" |
||||||
|
android:text="rshift" |
||||||
|
android:textAllCaps="false" |
||||||
|
android:textOff="rshift" |
||||||
|
android:textOn="RSHIFT" /> |
||||||
|
|
||||||
|
<ToggleButton |
||||||
|
android:id="@+id/ralt" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:checked="false" |
||||||
|
android:text="ralt" |
||||||
|
android:textAllCaps="false" |
||||||
|
android:textOff="ralt" |
||||||
|
android:textOn="RALT" /> |
||||||
|
|
||||||
|
<ToggleButton |
||||||
|
android:id="@+id/rgui" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:checked="false" |
||||||
|
android:text="rgui" |
||||||
|
android:textAllCaps="false" |
||||||
|
android:textOff="rgui" |
||||||
|
android:textOn="RGUI" /> |
||||||
|
</TableRow> |
||||||
|
|
||||||
|
</TableLayout> |
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout> |
||||||
@ -0,0 +1,184 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||||
|
xmlns:tools="http://schemas.android.com/tools" |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="match_parent"> |
||||||
|
|
||||||
|
<cf.cafelutza.gg.TrackpadView |
||||||
|
android:id="@+id/trackpadView" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline15" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="parent" |
||||||
|
/> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline15" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="horizontal" |
||||||
|
app:layout_constraintGuide_percent=".55" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b00" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="^" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline18" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline20" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline15" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b01" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="Meniu" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline18" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline21" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline20" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline15" |
||||||
|
app:layout_constraintVertical_bias="0.651" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b02" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="Enter" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline18" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline22" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline21" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline15" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b03" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="inapoi" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline18" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline22" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline15" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b10" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="v" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline23" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline20" |
||||||
|
app:layout_constraintHorizontal_bias="1.0" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline18" |
||||||
|
app:layout_constraintVertical_bias="1.0" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b11" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="Stanga" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline23" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline21" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline20" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline18" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b12" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="Dreapta" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline23" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline22" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline21" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline18" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b13" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="inainte" |
||||||
|
app:layout_constraintBottom_toTopOf="@+id/guideline23" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline22" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline18" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline18" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="horizontal" |
||||||
|
app:layout_constraintGuide_percent=".7" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline20" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="vertical" |
||||||
|
app:layout_constraintGuide_percent=".25" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline21" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="vertical" |
||||||
|
app:layout_constraintGuide_percent=".5" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline22" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="vertical" |
||||||
|
app:layout_constraintGuide_percent="0.75" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/guideline23" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="horizontal" |
||||||
|
app:layout_constraintGuide_percent="0.85" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b20" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="a" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline20" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline23" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b21" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="A" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline21" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline20" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline23" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b22" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="X" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline22" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline21" |
||||||
|
app:layout_constraintTop_toTopOf="@+id/guideline23" |
||||||
|
app:layout_constraintVertical_bias="0.387" /> |
||||||
|
|
||||||
|
<Button |
||||||
|
android:id="@+id/b23" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:text="+" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline22" |
||||||
|
app:layout_constraintTop_toBottomOf="@+id/b13" /> |
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout> |
||||||
@ -0,0 +1,2 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<resources></resources> |
||||||
Loading…
Reference in new issue