diff --git a/src/userland/pic/main.c b/src/userland/pic/main.c
index fbce3d6..cc18cd0 100644
--- a/src/userland/pic/main.c
+++ b/src/userland/pic/main.c
@@ -38,7 +38,7 @@
         if (i >= 8) {
             sendPic2EOI = true;
         }
-        fireEvent(eventIds[i], 0);
+        fireEvent(eventIds[i], i);
     }
     if (isr) {
         ioOut(PIC1, 0x20, 1);

diff --git a/src/userland/pic/main.c b/src/userland/pic/main.c
index fbce3d6..cc18cd0 100644
--- a/src/userland/pic/main.c
+++ b/src/userland/pic/main.c
@@ -38,7 +38,7 @@
         if (i >= 8) {
             sendPic2EOI = true;
         }
-        fireEvent(eventIds[i], 0);
+        fireEvent(eventIds[i], i);
     }
     if (isr) {
         ioOut(PIC1, 0x20, 1);
diff --git a/src/userland/ps2mouse/main.c b/src/userland/ps2mouse/main.c
index 1b302c6..a2278bb 100644
--- a/src/userland/ps2mouse/main.c
+++ b/src/userland/ps2mouse/main.c
@@ -40,7 +40,7 @@
 }
 
 void doRegister(uint32_t deviceType, uint32_t event) {
-    subscribeEvent(getService("pic"), event, onMove);
+    subscribeEvent(getService("pic"), event, (void *) onMove);
     deviceTypes[event] = deviceType;
 }