diff --git a/ikvm_input.cpp b/ikvm_input.cpp
index c3930b5..8cdefe4 100644
--- a/ikvm_input.cpp
+++ b/ikvm_input.cpp
@@ -24,9 +24,8 @@
 
 Input::Input(const std::string& kbdPath, const std::string& ptrPath,
              const std::string& udc) :
-    keyboardFd(-1),
-    pointerFd(-1), keyboardReport{0}, pointerReport{0}, keyboardPath(kbdPath),
-    pointerPath(ptrPath), udcName(udc)
+    keyboardFd(-1), pointerFd(-1), keyboardReport{0}, pointerReport{0},
+    keyboardPath(kbdPath), pointerPath(ptrPath), udcName(udc)
 {
     hidUdcStream.exceptions(std::ofstream::failbit | std::ofstream::badbit);
     hidUdcStream.open(hidUdcPath, std::ios::out | std::ios::app);
@@ -105,8 +104,8 @@
 
     if (!keyboardPath.empty())
     {
-        keyboardFd = open(keyboardPath.c_str(),
-                          O_RDWR | O_CLOEXEC | O_NONBLOCK);
+        keyboardFd =
+            open(keyboardPath.c_str(), O_RDWR | O_CLOEXEC | O_NONBLOCK);
         if (keyboardFd < 0)
         {
             log<level::ERR>("Failed to open input device",
@@ -254,9 +253,9 @@
     }
     else
     {
-        input->pointerReport[0] = ((buttonMask & 0x4) >> 1) |
-                                  ((buttonMask & 0x2) << 1) |
-                                  (buttonMask & 0x1);
+        input->pointerReport[0] =
+            ((buttonMask & 0x4) >> 1) | ((buttonMask & 0x2) << 1) |
+            (buttonMask & 0x1);
         input->pointerReport[5] = 0;
     }
 
