From aecba3e412a3bae47d32c699de79d18083da2b7d Mon Sep 17 00:00:00 2001 From: snomiao Date: Tue, 9 Mar 2021 15:14:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=BC=A0=E6=A0=87=E6=A8=A1=E6=8B=9F?= =?UTF-8?q?=E6=80=A7=E8=83=BD=E6=8F=90=E5=8D=87=E3=80=81=E5=BC=95=E5=AF=BC?= =?UTF-8?q?=E9=94=AE=E8=A7=A6=E5=8F=91up=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/CapslockX-Core.ahk | 9 +- Core/CapslockX-LoadModules.ahk | 38 ++-- ...1\346\213\237\351\274\240\346\240\207.ahk" | 171 +++++++++--------- ...\211\351\241\271\344\270\272CMSIS-DAP.ahk" | 11 -- Tools/publish.node.js | 0 package-lock.json | 33 ++++ package.json | 5 +- 7 files changed, 146 insertions(+), 121 deletions(-) delete mode 100644 "Modules/\345\272\224\347\224\250-IAR\346\224\271\351\200\211\351\241\271\344\270\272CMSIS-DAP.ahk" create mode 100644 Tools/publish.node.js create mode 100644 package-lock.json diff --git a/Core/CapslockX-Core.ahk b/Core/CapslockX-Core.ahk index a83519cd..6a05b27d 100644 --- a/Core/CapslockX-Core.ahk +++ b/Core/CapslockX-Core.ahk @@ -156,11 +156,12 @@ CapsLockX_Dn: ; ToolTip, thk %A_ThisHotkey% %lastCapsLockKey% %A_PriorKey% ; tooltip % A_PriorKey "_" GetKeyState(A_PriorKey, "P") "_" (lastCapsLockKey != A_PriorKey) StringLeft, first5char, A_PriorKey, 5 - if(first5char != "Wheel" && GetKeyState(A_PriorKey, "P") && lastCapsLockKey != A_PriorKey){ - ; 按住其它键的时候 不触发 CapsLockX + if(first5char != "Wheel" && GetKeyState(A_在PriorKey, "P") && lastCapsLockKey != A_PriorKey && lastCapsLockKey){ + ; 按住其它键的时候 不触发 CapsLockX在 + Tooltip "lclk" %lastCapsLockKey% Up SendEvent {%lastCapsLockKey% Down} KeyWait %lastCapsLockKey% - SendEvent {%lastCapsLockKey% Up} + SendEvent {%lastCapsLockKey% Up}要民民 lastCapsLockKey := "" Return } @@ -220,7 +221,7 @@ CapsLockX_Up: } } if(lastCapsLockKey == "Space" && A_PriorKey == "Space"){ - Send {Space} + SendEvent {Space} } ; if (A_PriorKey == "\") Send \\ UpdateLight() diff --git a/Core/CapslockX-LoadModules.ahk b/Core/CapslockX-LoadModules.ahk index 849bb105..ef0a5f15 100644 --- a/Core/CapslockX-LoadModules.ahk +++ b/Core/CapslockX-LoadModules.ahk @@ -42,7 +42,6 @@ GoSub Setup_37 GoSub Setup_38 GoSub Setup_39 GoSub Setup_40 -GoSub Setup_41 Return #If @@ -113,59 +112,56 @@ Return #Include ./Modules\应用-Edge增强.ahk #If Setup_23: - #Include ./Modules\应用-IAR改选项为CMSIS-DAP.ahk -#If - Setup_24: #Include ./Modules\应用-LoopbackExemptionManager.ahk #If - Setup_25: + Setup_24: #Include ./Modules\应用-MobaXterm.ahk #If - Setup_26: + Setup_25: #Include ./Modules\应用-mstsc远程桌面增强.ahk #If - Setup_27: + Setup_26: #Include ./Modules\应用-OneNote2016增强.ahk #If - Setup_28: + Setup_27: #Include ./Modules\应用-OneNoteMetro拓展.ahk #If - Setup_29: + Setup_28: #Include ./Modules\应用-QQ_UWP增强.ahk #If - Setup_30: + Setup_29: #Include ./Modules\应用-Telegram.ahk #If - Setup_31: + Setup_30: #Include ./Modules\应用-TIM添加常驻功能.ahk #If - Setup_32: + Setup_31: #Include ./Modules\应用-TIM连接OneNote2016.ahk #If - Setup_33: + Setup_32: #Include ./Modules\应用-UWP应用增强.ahk #If - Setup_34: + Setup_33: #Include ./Modules\应用-文明6回车左置.ahk #If - Setup_35: + Setup_34: #Include ./Modules\应用-桌面QQ增强.ahk #If - Setup_36: + Setup_35: #Include ./Modules\应用-网易云音乐.ahk #If - Setup_37: + Setup_36: #Include ./Modules\应用-讯飞输入法语音悬浮窗.ahk #If - Setup_38: + Setup_37: #Include ./Modules\插件-VSCode增强.ahk #If - Setup_39: + Setup_38: #Include ./Modules\插件-媒体键.ahk #If - Setup_40: + Setup_39: #Include ./Modules\插件-控制台启用CtrlV粘贴.ahk #If - Setup_41: + Setup_40: #Include ./Modules\插件-雪星转屏.ahk diff --git "a/Modules/01.1-\346\217\222\344\273\266-\346\250\241\346\213\237\351\274\240\346\240\207.ahk" "b/Modules/01.1-\346\217\222\344\273\266-\346\250\241\346\213\237\351\274\240\346\240\207.ahk" index 09c76230..7edf3bd1 100644 --- "a/Modules/01.1-\346\217\222\344\273\266-\346\250\241\346\213\237\351\274\240\346\240\207.ahk" +++ "b/Modules/01.1-\346\217\222\344\273\266-\346\250\241\346\213\237\351\274\240\346\240\207.ahk" @@ -10,7 +10,6 @@ ; ; CoordMode, Mouse, Screen - AppendHelp( " ( 模拟鼠标 @@ -24,18 +23,18 @@ AppendHelp( " ; 鼠标加速度微分对称模型,每秒误差 2.5ms 以内 global 鼠刻左 := 0, 鼠刻右 := 0, 鼠刻上 := 0, 鼠刻下 := 0 -global mvx := 0, mvy := 0, mdx := 0, mdy := 0 +global 鼠速横 := 0, 鼠速纵 := 0, 鼠差横 := 0, 鼠差纵 := 0 ; 滚轮加速度微分对称模型(不要在意这中二的名字hhhh -global scroll_tu := 0, scroll_td := 0, scroll_tl := 0, scroll_tr := 0 -global scroll_vx := 0, scroll_vy := 0, scroll_dx := 0, scroll_dy := 0 - +global 轮动中 := 0 +global 轮刻上 := 0, 轮刻下 := 0, 轮刻左 := 0, 轮刻右 := 0 +global 轮速横 := 0, 轮速纵 := 0, 轮差横 := 0, 轮差纵 := 0 If(TMouse_SendInput) SendMode Input ; 解决多屏 DPI 问题 DllCall("Shcore.dll\SetProcessDpiAwareness", "UInt", 2) -; msgbox % say "_" sax "`n" scroll_vy "_" scroll_vx "`n" lastsvy "_" lastsvx +; msgbox % say "_" sax "`n" 轮速纵 "_" 轮速横 "`n" lastsvy "_" lastsvx Return @@ -105,8 +104,8 @@ SendInput_MouseMoveR64(x, y){ /* VarSetCapacity(sendData, 28, 0) NumPut(0 , sendData, 0, "UShort") - NumPut(mvx, sendData, 4, "Short") - NumPut(mvy, sendData, 8, "Short") + NumPut(鼠速横, sendData, 4, "Short") + NumPut(鼠速纵, sendData, 8, "Short") NumPut(0 , sendData, 12, "UShort") NumPut(1 , sendData, 16, "UShort") DllCall("SendInput", "UShort", 1, "Point", sendData, "UShort", 28) @@ -139,7 +138,7 @@ SendInput_MouseMoveR64(x, y){ ; mouseTicker_dev: ; ; 在非 CapsLockX 模式下直接停止 ; If (!(CapsLockXMode == CM_CapsLockX || CapsLockXMode == CM_FN)){ -; 鼠刻左 := 0, 鼠刻右 := 0, 鼠刻上 := 0, 鼠刻下 := 0, mvx := 0, mvy := 0, mdx := 0, mdy := 0 +; 鼠刻左 := 0, 鼠刻右 := 0, 鼠刻上 := 0, 鼠刻下 := 0, 鼠速横 := 0, 鼠速纵 := 0, 鼠差横 := 0, 鼠差纵 := 0 ; max := 0, may := 0 ; }else{ ; tNow := QPC() @@ -152,18 +151,32 @@ SendInput_MouseMoveR64(x, y){ ; tax := tda * tay ; If (TMouse_SendInputAPI && A_PtrSize == 4) ; 这只能32位用 ; { -; SendInput_MouseMoveR32(mdx, mdy) -; mdx -= mdx | 0, mdy -= mdy | 0 +; SendInput_MouseMoveR32(鼠差横, 鼠差纵) +; 鼠差横 -= 鼠差横 | 0, 鼠差纵 -= 鼠差纵 | 0 ; }Else{ -; MouseMove, %mdx%, %mdy%, 0, R -; mdx -= mdx | 0, mdy -= mdy | 0 +; MouseMove, %鼠差横%, %鼠差纵%, 0, R +; 鼠差横 -= 鼠差横 | 0, 鼠差纵 -= 鼠差纵 | 0 ; } ; Return +; 鼠标模拟 +MouseTickerStart(){ + if(!鼠动中) { + SetTimer, MouseTicker, 1 + 鼠动中 := 1 + } +} +MouseTickerStop(){ + 鼠动中 := 0, 鼠刻左 := 0, 鼠刻右 := 0, 鼠刻上 := 0, 鼠刻下 := 0, 鼠速横 := 0, 鼠速纵 := 0, 鼠差横 := 0, 鼠差纵 := 0 + SetTimer, MouseTicker, Off +} +MouseTicker: + MouseTicker() +Return MouseTicker(){ ; 在非 CapsLockX 模式下直接停止 If (!(CapsLockXMode == CM_CapsLockX || CapsLockXMode == CM_FN)){ - 鼠刻左 := 0, 鼠刻右 := 0, 鼠刻上 := 0, 鼠刻下 := 0, mvx := 0, mvy := 0, mdx := 0, mdy := 0 + 鼠刻左 := 0, 鼠刻右 := 0, 鼠刻上 := 0, 鼠刻下 := 0, 鼠速横 := 0, 鼠速纵 := 0, 鼠差横 := 0, 鼠差纵 := 0 max := 0, may := 0 }else{ tNow := QPC() @@ -177,12 +190,12 @@ MouseTicker(){ } ; ; 摩擦力不阻碍用户意志 - mvx := Friction(mvx + max, max), mvy := Friction(mvy + may, may) + 鼠速横 := Friction(鼠速横 + max, max), 鼠速纵 := Friction(鼠速纵 + may, may) ; 实际移动需要约化 - mdx += mvx, mdy += mvy + 鼠差横 += 鼠速横, 鼠差纵 += 鼠速纵 - if ( mvx == 0 && mvy == 0){ + if ( 鼠速横 == 0 && 鼠速纵 == 0){ ; 完成移动,退出定时 MouseTickerStop() Return @@ -195,19 +208,19 @@ MouseTicker(){ If (TMouse_SendInputAPI && A_PtrSize == 4) ; 这只能32位用 { - SendInput_MouseMoveR32(mdx, mdy) - mdx -= mdx | 0, mdy -= mdy | 0 + SendInput_MouseMoveR32(鼠差横, 鼠差纵) + 鼠差横 -= 鼠差横 | 0, 鼠差纵 -= 鼠差纵 | 0 }Else{ - MouseMove, %mdx%, %mdy%, 0, R - mdx -= mdx | 0, mdy -= mdy | 0 + MouseMove, %鼠差横%, %鼠差纵%, 0, R + 鼠差横 -= 鼠差横 | 0, 鼠差纵 -= 鼠差纵 | 0 } ; 撞到屏幕边角就停下来 If (TMouse_StopAtScreenEdge){ If(xa == xb) - mvx := 0 + 鼠速横 := 0 If(ya == yb) - mvy := 0 + 鼠速纵 := 0 xb := xa, yb := ya } @@ -215,45 +228,33 @@ MouseTicker(){ ; 放在 MouseMove 后面是粘附的感觉 ; 放在它前面是撞到东西的感觉 If(TMouse_StickyCursor And CursorShapeChangedQ()){ - mvx := 0, mvy := 0 + 鼠速横 := 0, 鼠速纵 := 0 } ; 对屏幕边角用力穿透,并粘附( 必须放 MouseMove 下面 ) ; 此设定与StopAtScreenEdge不兼容 - ; If(max And Abs(mvx) > 80 And xa == xb){ + ; If(max And Abs(鼠速横) > 80 And xa == xb){ ; If(xStop){ - ; MouseMove, (mvx < 0 ? 3 : -3) * A_ScreenWidth, 0, 0, R + ; MouseMove, (鼠速横 < 0 ? 3 : -3) * A_ScreenWidth, 0, 0, R ; throughedScreen = 1 ; xStop = 0 ; }Else{ ; xStop = 1 ; } - ; mvx := 0, mvy := 0 + ; 鼠速横 := 0, 鼠速纵 := 0 ; } - ; If(may And Abs(mvy) > 80 And ya == yb){ + ; If(may And Abs(鼠速纵) > 80 And ya == yb){ ; If(yStop){ - ; MouseMove, 0, (mvy < 0 ? 3 : -3) * A_ScreenHeight, 0, R + ; MouseMove, 0, (鼠速纵 < 0 ? 3 : -3) * A_ScreenHeight, 0, R ; throughedScreen = 1 ; yStop = 0 ; }Else{ ; yStop = 1 ; } - ; mvx := 0, mvy := 0 + ; 鼠速横 := 0, 鼠速纵 := 0 ; } } -; 鼠标模拟 -MouseTickerStart(){ - SetTimer, MouseTicker, 0 -} -MouseTickerStop(){ - 鼠刻左 := 0, 鼠刻右 := 0, 鼠刻上 := 0, 鼠刻下 := 0, mvx := 0, mvy := 0, mdx := 0, mdy := 0 - SetTimer, MouseTicker, Off -} -MouseTicker: - MouseTicker() -Return - Pos2Long(x, y) { Return x | (y << 16) } @@ -296,86 +297,88 @@ ScrollMsg(msg, zDelta){ PostMessage, msg, wParam, lParam, %fcontrol%, ahk_id %ControlClass2% If(ControlClass2 != ControlClass3){ PostMessage, msg, wParam, lParam, %fcontrol%, ahk_id %ControlClass3% - } } } ; 滚轮运动处理 +ScrollTickerStart(){ + if(!轮动中){ + SetTimer, ScrollTicker, 1 + 轮动中 := 1 + } +} ScrollTicker: ScrollTicker() Return ScrollTicker(){ ; RF同时按下相当于中键 If(GetKeyState("MButton", "P")){ - If(scroll_tu == 0 && scroll_td == 0){ + If(轮刻上 == 0 && 轮刻下 == 0){ Send {MButton Up} - scroll_tu := 0, scroll_td := 0 + 轮刻上 := 0, 轮刻下 := 0 Return } } - If(scroll_tu && scroll_td && Abs(tdr - tdf) < 1){ + If(轮刻上 && 轮刻下 && Abs(tdr - tdf) < 1){ If(!GetKeyState("MButton", "P")){ Send {MButton Down} - scroll_tu := 1, scroll_td := 1 + 轮刻上 := 1, 轮刻下 := 1 } Return } ; 在非CapsLockX模式下停止 If (!(CapsLockXMode == CM_CapsLockX || CapsLockXMode == CM_FN)){ - scroll_tu := 0, scroll_td := 0, scroll_tl := 0, scroll_tr := 0 - scroll_vx := 0, scroll_vy := 0, scroll_dx := 0, scroll_dy := 0 + 轮刻上 := 0, 轮刻下 := 0, 轮刻左 := 0, 轮刻右 := 0 + 轮速横 := 0, 轮速纵 := 0, 轮差横 := 0, 轮差纵 := 0 sax := 0, say := 0 }else{ tNow := QPC() ; 计算用户操作时间 - tdz := dt(scroll_tl, tNow), tdc := dt(scroll_tr, tNow) - tdr := dt(scroll_tu, tNow), tdf := dt(scroll_td, tNow) + tdz := dt(轮刻左, tNow), tdc := dt(轮刻右, tNow) + tdr := dt(轮刻上, tNow), tdf := dt(轮刻下, tNow) ; 计算加速度 say := ma(tdr - tdf) * TMouse_WheelSpeedRatio sax := ma(tdc - tdz) * TMouse_WheelSpeedRatio ; tooltip % say "_" sax } ; 计算速度 - lastsvx := scroll_vx - lastsvy := scroll_vy - ; msgbox % say "_" sax "`n" scroll_vy "_" scroll_vx "`n" lastsvy "_" lastsvx + lastsvx := 轮速横 + lastsvy := 轮速纵 + ; _ := "_", 换行 := "`n" + ; tooltip % tdr _ tdf 换行 say _ sax 换行 轮速纵 _ 轮速横 换行 lastsvy _ lastsvx - scroll_vy := Friction(scroll_vy + say, say), scroll_vx := Friction(scroll_vx + sax, sax) + 轮速纵 := Friction(轮速纵 + say, say), 轮速横 := Friction(轮速横 + sax, sax) - ; tooltip %scroll_tu%`n%scroll_td%`n%scroll_tl%`n%scroll_tr%`n%scroll_vx%`n%scroll_vy%`n%scroll_dx%`n%scroll_dy% + ; tooltip %轮刻上%`n%轮刻下%`n%轮刻左%`n%轮刻右%`n%轮速横%`n%轮速纵%`n%轮差横%`n%轮差纵% - if ( scroll_vy == 0 && scroll_vx == 0){ + if ( 轮速纵 == 0 && 轮速横 == 0){ ; 完成滚动,退出定时 ; tooltip Done - scroll_tu := 0, scroll_td := 0, scroll_tl := 0, scroll_tr := 0, scroll_vx := 0, scroll_vy := 0, scroll_dx := 0, scroll_dy := 0 + 轮刻上 := 0, 轮刻下 := 0, 轮刻左 := 0, 轮刻右 := 0, 轮速横 := 0, 轮速纵 := 0, 轮差横 := 0, 轮差纵 := 0 SetTimer, ScrollTicker, Off + 轮动中 := 0 Return } - scroll_dy+= scroll_vy, scroll_dx += scroll_vx + 轮差纵+= 轮速纵, 轮差横 += 轮速横 ; 处理移动 - If ((scroll_dy|0) != 0) { + If ((轮差纵|0) != 0) { If (TMouse_SendInputAPI && A_PtrSize == 4) ; 这API只能32位环境下用 - SendInput_MouseMsg32(0x0800, scroll_dy) ; 0x0800/*MOUSEEVENTF_WHEEL*/ + SendInput_MouseMsg32(0x0800, 轮差纵) ; 0x0800/*MOUSEEVENTF_WHEEL*/ Else - ScrollMsg2(0x20A, scroll_dy) - scroll_dy -= scroll_dy | 0 + ScrollMsg2(0x20A, 轮差纵) + 轮差纵 -= 轮差纵 | 0 } - If ((scroll_dx|0) != 0) { + If ((轮差横|0) != 0) { If (TMouse_SendInputAPI && A_PtrSize == 4) ; 这API只能32位环境下用 - SendInput_MouseMsg32(0x1000, scroll_dx) ; 0x1000/*MOUSEEVENTF_HWHEEL*/ + SendInput_MouseMsg32(0x1000, 轮差横) ; 0x1000/*MOUSEEVENTF_HWHEEL*/ Else - ScrollMsg2(0x20E, scroll_dx) ; 在64位下用的是低性能的…… - scroll_dx -= scroll_dx | 0 + ScrollMsg2(0x20E, 轮差横) ; 在64位下用的是低性能的…… + 轮差横 -= 轮差横 | 0 } } -; 时间处理 -ScrollTickerStart(){ - SetTimer, ScrollTicker, 0 -} - ; CapsLockX和fn模式都能触发 #If CapsLockXMode == CM_CapsLockX || CapsLockXMode == CM_FN @@ -411,10 +414,10 @@ ScrollTickerStart(){ *s Up:: 鼠刻下 := 0, MouseTickerStart() ; 鼠标滚轮处理 -r:: scroll_tu := (scroll_tu ? scroll_tu : QPC()), ScrollTickerStart() -f:: scroll_td := (scroll_td ? scroll_td : QPC()), ScrollTickerStart() -r Up:: scroll_tu := 0, ScrollTickerStart() -f Up:: scroll_td := 0, ScrollTickerStart() +r:: 轮刻上 := (轮刻上 ? 轮刻上 : QPC()), ScrollTickerStart() +f:: 轮刻下 := (轮刻下 ? 轮刻下 : QPC()), ScrollTickerStart() +r Up:: 轮刻上 := 0, ScrollTickerStart() +f Up:: 轮刻下 := 0, ScrollTickerStart() ; 单格滚动 !r:: Send {WheelUp} @@ -426,14 +429,14 @@ f Up:: scroll_td := 0, ScrollTickerStart() ^r:: Send ^{WheelUp} ^f:: Send ^{WheelDown} -; ^r:: scroll_tu := (scroll_tu ? scroll_tu : QPC()), ScrollTickerStart() -; ^f:: scroll_td := (scroll_td ? scroll_td : QPC()), ScrollTickerStart() -; ^r Up:: scroll_tu := 0, ScrollTickerStart() -; ^f Up:: scroll_td := 0, ScrollTickerStart() +; ^r:: 轮刻上 := (轮刻上 ? 轮刻上 : QPC()), ScrollTickerStart() +; ^f:: 轮刻下 := (轮刻下 ? 轮刻下 : QPC()), ScrollTickerStart() +; ^r Up:: 轮刻上 := 0, ScrollTickerStart() +; ^f Up:: 轮刻下 := 0, ScrollTickerStart() ; 横向滚动 -+r:: scroll_tl := (scroll_tl ? scroll_tl : QPC()), ScrollTickerStart() -+f:: scroll_tr := (scroll_tr ? scroll_tr : QPC()), ScrollTickerStart() -+r Up:: scroll_tl := 0, ScrollTickerStart() -+f Up:: scroll_tr := 0, ScrollTickerStart() ++r:: 轮刻左 := (轮刻左 ? 轮刻左 : QPC()), ScrollTickerStart() ++f:: 轮刻右 := (轮刻右 ? 轮刻右 : QPC()), ScrollTickerStart() ++r Up:: 轮刻左 := 0, ScrollTickerStart() ++f Up:: 轮刻右 := 0, ScrollTickerStart() diff --git "a/Modules/\345\272\224\347\224\250-IAR\346\224\271\351\200\211\351\241\271\344\270\272CMSIS-DAP.ahk" "b/Modules/\345\272\224\347\224\250-IAR\346\224\271\351\200\211\351\241\271\344\270\272CMSIS-DAP.ahk" deleted file mode 100644 index 24957137..00000000 --- "a/Modules/\345\272\224\347\224\250-IAR\346\224\271\351\200\211\351\241\271\344\270\272CMSIS-DAP.ahk" +++ /dev/null @@ -1,11 +0,0 @@ -Return -#IfWinActive ahk_class #32770 ahk_exe IarIdePm.exe - !o:: - Send {Home}{Tab 2}{Down 9} - Sleep, 200 - send !d{Up 3} - Sleep, 200 - Send ^{Tab}!u - Sleep, 200 - Send {Tab 5}{Down 3}^{Tab 2}!s - Return \ No newline at end of file diff --git a/Tools/publish.node.js b/Tools/publish.node.js new file mode 100644 index 00000000..e69de29b diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..d17c28f9 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,33 @@ +{ + "name": "capslockx", + "version": "1.8.2", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "capslockx", + "version": "1.8.2", + "license": "GPL-3.0-or-later", + "bin": { + "capslockx": "CapslockX.exe" + }, + "devDependencies": { + "xml": "^1.0.1" + } + }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true + } + }, + "dependencies": { + "xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true + } + } +} diff --git a/package.json b/package.json index 7c543b44..7552147c 100644 --- a/package.json +++ b/package.json @@ -21,5 +21,8 @@ "bin": { "capslockx": "CapslockX.exe" }, - "main": "CapsLockX.exe" + "main": "CapsLockX.exe", + "devDependencies": { + "xml": "^1.0.1" + } }