@@ -143,15 +143,21 @@ func (u *UsbGadget) listenKeyboardEvents() {
143143 default :
144144 l .Trace ().Msg ("reading from keyboard" )
145145 if u .keyboardHidFile == nil {
146- l .Error ().Msg ("keyboardHidFile is nil" )
146+ u .logWithSupression ("keyboardHidFileNil" , 100 , & l , nil , "keyboardHidFile is nil" )
147+ // show the error every 100 times to avoid spamming the logs
147148 time .Sleep (time .Second )
148149 continue
149150 }
151+ // reset the counter
152+ u .resetLogSuppressionCounter ("keyboardHidFileNil" )
153+
150154 n , err := u .keyboardHidFile .Read (buf )
151155 if err != nil {
152- l . Error (). Err ( err ). Msg ( "failed to read" )
156+ u . logWithSupression ( "keyboardHidFileRead" , 100 , & l , err , "failed to read" )
153157 continue
154158 }
159+ u .resetLogSuppressionCounter ("keyboardHidFileRead" )
160+
155161 l .Trace ().Int ("n" , n ).Bytes ("buf" , buf ).Msg ("got data from keyboard" )
156162 if n != 1 {
157163 l .Trace ().Int ("n" , n ).Msg ("expected 1 byte, got" )
@@ -195,12 +201,12 @@ func (u *UsbGadget) keyboardWriteHidFile(data []byte) error {
195201
196202 _ , err := u .keyboardHidFile .Write (data )
197203 if err != nil {
198- u .log . Error (). Err ( err ). Msg ( "failed to write to hidg0" )
204+ u .logWithSupression ( "keyboardWriteHidFile" , 100 , u . log , err , "failed to write to hidg0" )
199205 u .keyboardHidFile .Close ()
200206 u .keyboardHidFile = nil
201207 return err
202208 }
203-
209+ u . resetLogSuppressionCounter ( "keyboardWriteHidFile" )
204210 return nil
205211}
206212
0 commit comments