class com.sun.glass.ui.monocle.LinuxInputDeviceRegistry extends com.sun.glass.ui.monocle.InputDeviceRegistry
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.glass.ui.monocle.LinuxInputDeviceRegistry
super_class: com.sun.glass.ui.monocle.InputDeviceRegistry
{
void <init>(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.sun.glass.ui.monocle.InputDeviceRegistry.<init>:()V
1: iload 1
ifeq 3
2: return
3: StackMap locals: com.sun.glass.ui.monocle.LinuxInputDeviceRegistry int
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 4: aload 0
aload 2
invokedynamic udevEvent(Lcom/sun/glass/ui/monocle/LinuxInputDeviceRegistry;Ljava/util/Map;)Lcom/sun/glass/ui/monocle/UdevListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/String;Ljava/util/Map;)V
com/sun/glass/ui/monocle/LinuxInputDeviceRegistry.lambda$0(Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;)V (7)
(Ljava/lang/String;Ljava/util/Map;)V
astore 3
start local 3 5: invokestatic com.sun.glass.ui.monocle.Udev.getInstance:()Lcom/sun/glass/ui/monocle/Udev;
aload 3
invokevirtual com.sun.glass.ui.monocle.Udev.addListener:(Lcom/sun/glass/ui/monocle/UdevListener;)V
6: ldc "input"
invokestatic com.sun.glass.ui.monocle.SysFS.triggerUdevNotification:(Ljava/lang/String;)V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/glass/ui/monocle/LinuxInputDeviceRegistry;
0 8 1 headless Z
4 8 2 deviceMap Ljava/util/Map<Ljava/io/File;Lcom/sun/glass/ui/monocle/LinuxInputDevice;>;
5 8 3 udevListener Lcom/sun/glass/ui/monocle/UdevListener;
MethodParameters:
Name Flags
headless
private com.sun.glass.ui.monocle.LinuxInputDevice createDevice(java.io.File, java.io.File, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/io/File;Ljava/io/File;Ljava/util/Map;)Lcom/sun/glass/ui/monocle/LinuxInputDevice;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.sun.glass.ui.monocle.LinuxInputDevice
dup
1: aload 1
aload 2
aload 3
2: invokespecial com.sun.glass.ui.monocle.LinuxInputDevice.<init>:(Ljava/io/File;Ljava/io/File;Ljava/util/Map;)V
astore 4
start local 4 3: aload 0
aload 4
new java.lang.StringBuilder
dup
ldc "Linux input: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.io.File.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.addDeviceInternal:(Lcom/sun/glass/ui/monocle/LinuxInputDevice;Ljava/lang/String;)Lcom/sun/glass/ui/monocle/LinuxInputDevice;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/glass/ui/monocle/LinuxInputDeviceRegistry;
0 4 1 devNode Ljava/io/File;
0 4 2 sysPath Ljava/io/File;
0 4 3 udevManifest Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
3 4 4 device Lcom/sun/glass/ui/monocle/LinuxInputDevice;
Exceptions:
throws java.io.IOException
Signature: (Ljava/io/File;Ljava/io/File;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lcom/sun/glass/ui/monocle/LinuxInputDevice;
MethodParameters:
Name Flags
devNode
sysPath
udevManifest
com.sun.glass.ui.monocle.LinuxInputDevice addDevice(com.sun.glass.ui.monocle.LinuxInputDevice, java.lang.String);
descriptor: (Lcom/sun/glass/ui/monocle/LinuxInputDevice;Ljava/lang/String;)Lcom/sun/glass/ui/monocle/LinuxInputDevice;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
new java.security.AllPermission
dup
invokespecial java.security.AllPermission.<init>:()V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.addDeviceInternal:(Lcom/sun/glass/ui/monocle/LinuxInputDevice;Ljava/lang/String;)Lcom/sun/glass/ui/monocle/LinuxInputDevice;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/glass/ui/monocle/LinuxInputDeviceRegistry;
0 4 1 device Lcom/sun/glass/ui/monocle/LinuxInputDevice;
0 4 2 name Ljava/lang/String;
1 4 3 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
device
name
private com.sun.glass.ui.monocle.LinuxInputDevice addDeviceInternal(com.sun.glass.ui.monocle.LinuxInputDevice, java.lang.String);
descriptor: (Lcom/sun/glass/ui/monocle/LinuxInputDevice;Ljava/lang/String;)Lcom/sun/glass/ui/monocle/LinuxInputDevice;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.createInputProcessor:(Lcom/sun/glass/ui/monocle/LinuxInputDevice;)Lcom/sun/glass/ui/monocle/LinuxInputProcessor;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: com.sun.glass.ui.monocle.LinuxInputProcessor
StackMap stack:
aload 1
aload 3
invokevirtual com.sun.glass.ui.monocle.LinuxInputDevice.setInputProcessor:(Lcom/sun/glass/ui/monocle/LinuxInputProcessor;)V
4: new java.lang.Thread
dup
aload 1
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 4
start local 4 5: aload 4
aload 2
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
6: aload 4
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
7: aload 4
invokevirtual java.lang.Thread.start:()V
8: aload 0
getfield com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.devices:Ljavafx/collections/ObservableSet;
aload 1
invokeinterface javafx.collections.ObservableSet.add:(Ljava/lang/Object;)Z
pop
9: aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/glass/ui/monocle/LinuxInputDeviceRegistry;
0 10 1 device Lcom/sun/glass/ui/monocle/LinuxInputDevice;
0 10 2 name Ljava/lang/String;
1 10 3 processor Lcom/sun/glass/ui/monocle/LinuxInputProcessor;
5 10 4 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
device
name
void removeDevice(com.sun.glass.ui.monocle.LinuxInputDevice);
descriptor: (Lcom/sun/glass/ui/monocle/LinuxInputDevice;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
new java.security.AllPermission
dup
invokespecial java.security.AllPermission.<init>:()V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.devices:Ljavafx/collections/ObservableSet;
aload 1
invokeinterface javafx.collections.ObservableSet.remove:(Ljava/lang/Object;)Z
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/glass/ui/monocle/LinuxInputDeviceRegistry;
0 5 1 device Lcom/sun/glass/ui/monocle/LinuxInputDevice;
1 5 2 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
device
private com.sun.glass.ui.monocle.LinuxInputProcessor createInputProcessor(com.sun.glass.ui.monocle.LinuxInputDevice);
descriptor: (Lcom/sun/glass/ui/monocle/LinuxInputDevice;)Lcom/sun/glass/ui/monocle/LinuxInputProcessor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.glass.ui.monocle.LinuxInputDevice.isTouch:()Z
ifeq 12
1: aload 1
ldc "abs"
invokevirtual com.sun.glass.ui.monocle.LinuxInputDevice.getCapability:(Ljava/lang/String;)Ljava/util/BitSet;
astore 2
start local 2 2: aload 2
bipush 53
invokevirtual java.util.BitSet.get:(I)Z
ifeq 5
3: aload 2
bipush 54
invokevirtual java.util.BitSet.get:(I)Z
ifeq 5
4: iconst_1
goto 6
StackMap locals: java.util.BitSet
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 3
start local 3 7: iload 3
ifeq 11
8: aload 2
bipush 57
invokevirtual java.util.BitSet.get:(I)Z
ifeq 10
9: new com.sun.glass.ui.monocle.LinuxStatefulMultiTouchProcessor
dup
aload 1
invokespecial com.sun.glass.ui.monocle.LinuxStatefulMultiTouchProcessor.<init>:(Lcom/sun/glass/ui/monocle/LinuxInputDevice;)V
areturn
10: StackMap locals: int
StackMap stack:
new com.sun.glass.ui.monocle.LinuxStatelessMultiTouchProcessor
dup
aload 1
invokespecial com.sun.glass.ui.monocle.LinuxStatelessMultiTouchProcessor.<init>:(Lcom/sun/glass/ui/monocle/LinuxInputDevice;)V
areturn
11: StackMap locals:
StackMap stack:
new com.sun.glass.ui.monocle.LinuxSimpleTouchProcessor
dup
aload 1
invokespecial com.sun.glass.ui.monocle.LinuxSimpleTouchProcessor.<init>:(Lcom/sun/glass/ui/monocle/LinuxInputDevice;)V
areturn
end local 3 end local 2 12: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.glass.ui.monocle.LinuxInputDevice.isRelative:()Z
ifeq 14
13: new com.sun.glass.ui.monocle.LinuxMouseProcessor
dup
invokespecial com.sun.glass.ui.monocle.LinuxMouseProcessor.<init>:()V
areturn
14: StackMap locals:
StackMap stack:
aload 1
ldc "key"
invokevirtual com.sun.glass.ui.monocle.LinuxInputDevice.getCapability:(Ljava/lang/String;)Ljava/util/BitSet;
astore 2
start local 2 15: aload 2
ifnull 17
aload 2
invokevirtual java.util.BitSet.isEmpty:()Z
ifne 17
16: new com.sun.glass.ui.monocle.LinuxKeyProcessor
dup
invokespecial com.sun.glass.ui.monocle.LinuxKeyProcessor.<init>:()V
areturn
17: StackMap locals: java.util.BitSet
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/glass/ui/monocle/LinuxInputDeviceRegistry;
0 18 1 device Lcom/sun/glass/ui/monocle/LinuxInputDevice;
2 12 2 absCaps Ljava/util/BitSet;
7 12 3 isMT Z
15 18 2 keyCaps Ljava/util/BitSet;
MethodParameters:
Name Flags
device
private void lambda$0(java.util.Map, java.lang.String, java.util.Map);
descriptor: (Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=10, args_size=4
start local 0 start local 2 start local 3 0: aload 3
ldc "SUBSYSTEM"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 1: aload 3
ldc "DEVPATH"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 2: aload 3
ldc "DEVNAME"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 3: aload 4
ifnull 24
aload 4
ldc "input"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
4: aload 5
ifnull 24
aload 6
ifnull 24
5: new java.io.File
dup
ldc "/sys"
aload 5
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 7
start local 7 6: aload 2
ldc "add"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
7: aload 2
ldc "change"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
8: aload 1
aload 7
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 16
9: StackMap locals: com.sun.glass.ui.monocle.LinuxInputDeviceRegistry java.util.Map java.lang.String java.util.Map java.lang.String java.lang.String java.lang.String java.io.File
StackMap stack:
new java.io.File
dup
aload 6
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 8
start local 8 10: aload 0
11: aload 8
aload 7
aload 3
12: invokevirtual com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.createDevice:(Ljava/io/File;Ljava/io/File;Ljava/util/Map;)Lcom/sun/glass/ui/monocle/LinuxInputDevice;
astore 9
start local 9 13: aload 9
ifnull 24
14: aload 1
aload 7
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 8 15: goto 24
StackMap locals:
StackMap stack:
16: aload 2
ldc "remove"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
17: aload 1
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.glass.ui.monocle.LinuxInputDevice
astore 8
start local 8 18: aload 1
aload 7
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
19: aload 8
ifnull 24
20: aload 0
getfield com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.devices:Ljavafx/collections/ObservableSet;
aload 8
invokeinterface javafx.collections.ObservableSet.remove:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 21: goto 24
StackMap locals: com.sun.glass.ui.monocle.LinuxInputDeviceRegistry java.util.Map java.lang.String java.util.Map java.lang.String java.lang.String java.lang.String
StackMap stack: java.io.IOException
22: astore 7
start local 7 23: aload 7
invokevirtual java.io.IOException.printStackTrace:()V
end local 7 end local 6 end local 5 end local 4 24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/glass/ui/monocle/LinuxInputDeviceRegistry;
0 25 2 action Ljava/lang/String;
0 25 3 event Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 24 4 subsystem Ljava/lang/String;
2 24 5 devPath Ljava/lang/String;
3 24 6 devName Ljava/lang/String;
6 21 7 sysPath Ljava/io/File;
10 15 8 devNode Ljava/io/File;
13 15 9 device Lcom/sun/glass/ui/monocle/LinuxInputDevice;
18 21 8 device Lcom/sun/glass/ui/monocle/LinuxInputDevice;
23 24 7 e Ljava/io/IOException;
Exception table:
from to target type
5 21 22 Class java.io.IOException
}
SourceFile: "LinuxInputDeviceRegistry.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles