Sounds like you shouldn't be using a single field formatted with check box values. A group of buttons can be made to look and act like check boxes and a set of separate fields can each be formatted as a single value check box. A set of related records in a portal with "check box" buttons to select/deselect values might also be in order. Each of these other options make it simple to detect which "check box" was clicked--either to clear or select a value.
Additional fields are out because of the dynamic nature of my checkbox list (which generates yet another dynamic list based on the selections made in the first list, all in the same record) but I could use a portal to generate the buttons with the appropriate script parameters needed and then mess with text functions or a repeating field to do the rest.
Just might work,
Here's a demo file with examples of using a Portal to produce "Checkboxes with a scroll bar"--another benefit to the portal method when the values for your check boxes are dynamic as you don't have to worry that added values won't show due to lack of space allocated on the layout for them within a check box field: