Assign Tab to switch input method
Oh, I found Karabiner Elements works for Sierra, and I am very satisfied now. 

Previously, Karabiner is out of order in Sierra. 
Indeed, Sierra starts to offer custom remaps among those of ⇪Caps Lock, ^Control, ⌥Option, and ⌘Command, with System Preferences > Keyboard > Keyboard > Modifier keys. 
Still, I cannot use any of them to switch input source with System Preferences > Keyboard > Keyboard > Shortcuts > Input Sources. 

There has been several months, and today I visited Karabiner's homepage again. 
They say they produced a Karabiner Elements for Sierra, but I cannot compile myself, though had not closely studied the error message. 
Besides, fortunately there is a latest compiled image. 
The link is not anywhere obvious on their homepage, but I found it in another forum discussion, so I hope more people seeing this (my post) can find this image. 

Karabiner Elements works fine, as far as I see, for simple assignment of keys — i.e. to force the physical key X's signal to be interpreted as key Y's function. 
This is my setting. 
Physical ⇪Caps Lock now performs the function of Esc, 
and Esc that of `, 
and ` that of ↹Tab , 
and ↹ Tab that of F4 (or something else), 
and F4 that of ⇪Caps Lock. 
Then I set F4 to switch to the previously-used input source. 
I am proud of my setting. Vim users for non-Latin family language will save considerable effort with this!