@@ -2,7 +2,9 @@ package com.github.rostopira.kontroller
2
2
3
3
import android.annotation.SuppressLint
4
4
import android.app.Activity
5
+ import android.app.AlertDialog
5
6
import android.content.Context
7
+ import android.content.DialogInterface
6
8
import android.hardware.Sensor
7
9
import android.hardware.SensorManager
8
10
import android.os.Bundle
@@ -18,11 +20,8 @@ import com.github.rostopira.kontroller.senders.SensorSender
18
20
import com.github.rostopira.kontroller.listeners.ViewListener
19
21
import org.jetbrains.anko.*
20
22
import com.github.rostopira.kontroller.extraLibraries.CustomGestureDetector
21
-
22
-
23
-
24
-
25
-
23
+ import com.github.rostopira.kontroller.senders.KeyboardSender
24
+ import android.widget.CheckBox
26
25
27
26
28
27
@@ -32,9 +31,11 @@ class SelectDeviceActivity: Activity(),KeyEvent.Callback {
32
31
private lateinit var linearLayout: _LinearLayout
33
32
private var sender: SensorSender ? = null
34
33
// private var viewTouchListener : ViewListener? = null
35
-
34
+ private var modifier_checked_state : Int = 0
36
35
private var rMouseSender : RelativeMouseSender ? = null
37
36
37
+ private var rKeyboardSender : KeyboardSender ? = null
38
+
38
39
39
40
@SuppressLint(" ResourceType" )
40
41
public override fun onCreate (savedInstanceState : Bundle ? ) {
@@ -54,12 +55,12 @@ class SelectDeviceActivity: Activity(),KeyEvent.Callback {
54
55
linearLayout = this
55
56
id = 0x69
56
57
// gravity = Gravity.CENTER
57
- button(" TEST" ) {
58
- setOnClickListener {
59
- rMouseSender?.sendTestClick() ? : toast(" Not connected" )
60
-
61
- }
62
- }
58
+ // button("TEST") {
59
+ // setOnClickListener {
60
+ // rMouseSender?.sendTestClick() ?: toast("Not connected")
61
+ //
62
+ // }
63
+ // }
63
64
64
65
65
66
@@ -117,6 +118,7 @@ class SelectDeviceActivity: Activity(),KeyEvent.Callback {
117
118
val trackPadView = find<View >(R .id.mouseView)
118
119
119
120
121
+
120
122
BluetoothController .init (this )
121
123
122
124
BluetoothController .getSender { hidd, device ->
@@ -125,6 +127,14 @@ class SelectDeviceActivity: Activity(),KeyEvent.Callback {
125
127
126
128
mainHandler.post(object : Runnable {
127
129
override fun run () {
130
+
131
+ // //to be removed
132
+ rKeyboardSender= KeyboardSender (hidd,device)
133
+
134
+
135
+ // / end removed
136
+
137
+
128
138
val rMouseSender = RelativeMouseSender (hidd,device)
129
139
Log .i(" TAGdddUI" , Thread .currentThread().getName());
130
140
val viewTouchListener = ViewListener (hidd, device, rMouseSender)
@@ -216,18 +226,85 @@ class SelectDeviceActivity: Activity(),KeyEvent.Callback {
216
226
217
227
public override fun onPause () {
218
228
super .onPause()
229
+
230
+ }
231
+
232
+ public override fun onStop () {
233
+ super .onStop()
234
+ BluetoothController .btHid?.unregisterApp()
235
+
236
+ BluetoothController .hostDevice= null
237
+ BluetoothController .btHid= null
219
238
}
220
239
240
+
221
241
public override fun onCreateOptionsMenu (menu : Menu ? ): Boolean {
222
242
223
- val trackPadView = find<View >(R .id.mouseView)
243
+ // val trackPadView = find<View>(R.id.mouseView)
224
244
225
245
menuInflater.inflate(R .menu.select_device_activity_menu, menu)
226
246
247
+ // val checkBox = menu?.findItem(R.id.check_modifier_state)?.actionView as CheckBox
248
+ // checkBox.text = "Modifier Released"
249
+
227
250
// getMenuInflater().inflate(R.menu.select_device_activity_menu, menu);
228
251
return super .onCreateOptionsMenu(menu)
229
252
}
230
253
254
+ // companion object {
255
+ // fun callAlert(){
256
+ // val builder = AlertDialog.Builder(SelectDeviceActivity.this)
257
+ // builder.setTitle("Make your selection")
258
+ // builder.setItems(items, DialogInterface.OnClickListener { dialog, item ->
259
+ // // Do something with the selection
260
+ // mDoneButton.setText(items[item])
261
+ // })
262
+ // val alert = builder.create()
263
+ // alert.show()
264
+ // }
265
+ // }
266
+
267
+ override fun onKeyDown (keyCode : Int , event : KeyEvent ? ): Boolean {
268
+
269
+ Log .d(" keyeventdown_tag" ," desc is - $event " )
270
+
271
+
272
+ if (rKeyboardSender != null && event != null ) {
273
+ var rvalue: Boolean? = false
274
+ // rvalue = rKeyboardSender?.sendKeyboard(keyCode, event,modifier_checked_state)
275
+
276
+ if (rvalue == true ) return true
277
+
278
+
279
+ else return super .onKeyDown(keyCode, event)
280
+
281
+ }
282
+ else return super .onKeyDown(keyCode, event)
283
+
284
+
285
+ }
286
+
287
+
288
+ override fun onKeyUp (keyCode : Int , event : KeyEvent ? ): Boolean {
289
+
290
+
291
+ Log .d(" keyeventup_tag" ," desc is - $event " )
292
+
293
+ if (rKeyboardSender != null && event != null ) {
294
+ var rvalue: Boolean? = false
295
+ rvalue = rKeyboardSender?.sendKeyboard(keyCode, event,modifier_checked_state)
296
+
297
+ if (rvalue == true ) return true
298
+
299
+
300
+ else return super .onKeyDown(keyCode, event)
301
+
302
+ }
303
+ else return super .onKeyUp(keyCode, event)
304
+
305
+
306
+ }
307
+
231
308
232
309
override fun onOptionsItemSelected (item : MenuItem ) = when (item.itemId) {
233
310
R .id.action_settings -> {
@@ -240,11 +317,38 @@ class SelectDeviceActivity: Activity(),KeyEvent.Callback {
240
317
241
318
242
319
243
- // val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
244
- // imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0)
320
+ val imm = getSystemService(Context .INPUT_METHOD_SERVICE ) as InputMethodManager
321
+ imm.toggleSoftInput(InputMethodManager .SHOW_FORCED ,0 )
322
+
245
323
246
324
247
325
326
+ true
327
+ }
328
+
329
+ R .id.check_modifier_state -> {
330
+
331
+ // item.isChecked = !item.isChecked
332
+ // Log.i("bbbb","${item.isChecked}")
333
+ // if(item.isChecked)
334
+ // modifier_checked_state=1
335
+ // else modifier_checked_state=0
336
+ if (modifier_checked_state== 1 )
337
+ {
338
+ modifier_checked_state= 0
339
+ item.title= " MODIFIER RELEASED"
340
+ rKeyboardSender?.sendNullKeys()
341
+
342
+ }
343
+
344
+ else
345
+ {
346
+ modifier_checked_state= 1
347
+ item.title= " MODIFIER PRESSED"
348
+
349
+ }
350
+
351
+
248
352
249
353
true
250
354
}
0 commit comments