Assign Tab to switch input method I want to use Tab to switch to the previously-used input source, and ⇧ ShiftTab as the usual tab function.

As a Chinese language user, the key combination I use the most is ⌘ CommandSpace, which selects the previous input source. Since I only have two keyboards enabled, selecting the previous input source is the same thing as toggling between them. For every non-English user, this switch is frequent.

To make it easier, I want to use Tab to switch input sources. 
Following this, a ⇧Tab sounds like a good idea to perform the normal function of Tab. 

However, System Preferences (as I tried it) only allows the user to set the switch as a combination starting with ⇧ Shift or ⌃ Control. 
Is my request unreasonable? Or can it be done?
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!